Update deploy.yaml #320
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################################################################################ | |
# Copyright (C) 2020 Sebastian Francisco Colomar Bauza # | |
# SPDX-License-Identifier: GPL-2.0-only # | |
################################################################################ | |
name: CI # | |
on: # | |
push: # | |
branches: # | |
- main # | |
jobs: # | |
host: # | |
runs-on: ubuntu-latest # | |
steps: # | |
- name: checkout # | |
uses: actions/checkout@v2 # | |
- name: os-release | |
run: cat /etc/os-release | |
- name: run # | |
run: php -f main/src/index.php -S 0.0.0.0:8080 & | |
- name: which | |
run: which wget && which curl | |
- name: cat | |
run: cat main/src/index.php | |
- name: test # | |
run: | | |
while true ; | |
do \ | |
sleep 10 ; | |
wget -q -O - localhost:8080/main/src/index.php | grep "PHP.*phpinfo()" && break ; | |
done ; | |
docker: # | |
runs-on: ubuntu-latest # | |
steps: # | |
- name: checkout # | |
uses: actions/checkout@v2 # | |
- name: docker-build # | |
run: | | |
mkdir --parents build-context/ | |
docker build --file main/Dockerfile --tag localhost/library/my_image:test build-context/ | |
- name: docker-run | |
run: docker run --cpus 0.01 --detach --memory 10M --memory-reservation 10M --name phpinfo --publish 80:8080 --read-only --restart always --user nobody:nogroup --volume ${PWD}/main/src/index.php:/src/index.php:ro --workdir /src/ localhost/library/my_image:test php -f index.php -S 0.0.0.0:8080 | |
- name: test # | |
run: | | |
while true ; | |
do \ | |
sleep 10 ; | |
docker logs phpinfo 2>& 1 | grep "PHP.*started" && break ; | |
done ; | |
docker-compose: # | |
runs-on: ubuntu-latest # | |
steps: # | |
- name: checkout # | |
uses: actions/checkout@v2 # | |
- name: install | |
run: sudo apt-get update && sudo apt-get install -y docker-compose | |
- name: docker-compose | |
run: docker-compose --file main/docker-compose.yaml up & | |
- name: test # | |
run: | | |
while true ; | |
do \ | |
sleep 10 ; | |
docker-compose --file main/docker-compose.yaml logs 2>& 1 | grep "PHP.*started" && break ; | |
done | |
swarm-config: # | |
runs-on: ubuntu-latest # | |
steps: # | |
- name: checkout # | |
uses: actions/checkout@v2 # | |
- name: docker-swarm # | |
run: docker swarm init | |
- name: docker-stack | |
run: cd main && docker stack deploy --compose-file docker-stack-config.yaml phpinfo | |
- name: test # | |
run: | | |
while true ; | |
do \ | |
sleep 10 ; | |
docker service logs phpinfo_phpinfo 2>& 1 | grep "PHP.*started" && break ; | |
done | |
swarm-secret: # | |
runs-on: ubuntu-latest # | |
steps: # | |
- name: checkout # | |
uses: actions/checkout@v2 # | |
- name: docker-swarm # | |
run: docker swarm init | |
- name: docker-stack | |
run: cd main && docker stack deploy --compose-file docker-stack-secret.yaml phpinfo | |
- name: test # | |
run: | | |
while true ; | |
do \ | |
sleep 10 ; | |
docker service logs phpinfo_phpinfo 2>& 1 | grep "PHP.*started" && break ; | |
done | |
swarm-volume: # | |
runs-on: ubuntu-latest # | |
steps: # | |
- name: checkout # | |
uses: actions/checkout@v2 # | |
- name: docker-swarm # | |
run: docker swarm init | |
- name: docker-stack | |
run: cd main && docker stack deploy --compose-file docker-stack-volume.yaml phpinfo | |
- name: test # | |
run: | | |
while true ; | |
do \ | |
sleep 10 ; | |
docker service logs phpinfo_phpinfo 2>& 1 | grep "PHP.*started" && break ; | |
done | |
kube-compose-deploy-cm-alpine: # | |
runs-on: ubuntu-latest # | |
steps: # | |
- name: checkout # | |
uses: actions/checkout@v2 # | |
- name: id | |
run: id | |
- name: minikube | |
run: | | |
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb | |
sudo apt-get install ./minikube_latest_amd64.deb | |
- name: init | |
run: minikube start --driver=docker | |
- name: kubectl | |
run: kubectl version | |
- name: apply # | |
run: kubectl apply -f main/kubernetes/kube-compose-deploy-cm-alpine.yaml ; | |
- name: test # | |
run: | | |
set -x ; | |
while true ; | |
do \ | |
sleep 10 ; | |
kubectl logs deploy/phpinfo-deploy 2>& 1 | grep "PHP.*started" && break ; | |
done ; | |
kube-compose-deploy-echo: # | |
runs-on: ubuntu-latest # | |
steps: # | |
- name: checkout # | |
uses: actions/checkout@v2 # | |
- name: minikube | |
run: | | |
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb | |
sudo apt-get install ./minikube_latest_amd64.deb | |
- name: init | |
run: minikube start --driver=docker | |
- name: kubectl | |
run: kubectl version | |
- name: apply # | |
run: kubectl apply -f main/kubernetes/kube-compose-deploy-echo.yaml ; | |
- name: test # | |
run: | | |
set -x ; | |
while true ; | |
do \ | |
sleep 10 ; | |
kubectl logs deploy/phpinfo-deploy-echo 2>& 1 | grep "PHP.*started" && break ; | |
done ; | |
test-po: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: minikube | |
run: | | |
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb | |
sudo apt-get install ./minikube_latest_amd64.deb | |
- name: init | |
run: minikube start --driver=docker | |
- name: apply-cm | |
run: kubectl apply -f main/kubernetes/manifests/phpinfo-cm.yaml | |
- name: apply-po | |
run: kubectl apply -f main/kubernetes/manifests/phpinfo-po.yaml | |
- name: test | |
run: | | |
set -x | |
while true | |
do | |
sleep 10 | |
kubectl logs phpinfo-po 2>&1|grep "PHP.*started" && break | |
done | |
oc: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: oc | |
run: | | |
wget https://downloads-openshift-console.apps.openshift.sebastian-colomar.es/amd64/linux/oc.tar | |
tar xf oc.tar | |
sudo cp oc /usr/local/bin | |
oc version | |
- name: login | |
env: | |
OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_URL }} | |
OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }} | |
run: | | |
oc -v=9 login --server="${OPENSHIFT_SERVER}" --token="${OPENSHIFT_TOKEN}" | |
- name: deploy | |
env: | |
OPENSHIFT_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE }} | |
run: | | |
oc project "${OPENSHIFT_NAMESPACE}" | |
oc apply -f main/kubernetes/manifests/phpinfo-cm.yaml | |
oc apply -f main/openshift/manifests/phpinfo-dc.yaml | |
- name: test | |
run: | | |
set -x | |
while true | |
do | |
sleep 10 | |
oc logs dc/phpinfo-dc 2>&1 | |
oc logs dc/phpinfo-dc 2>&1|grep "PHP.*started" && break | |
done | |
################################################################################ |