Renkbench CD #65
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
name: Renkbench CD | |
on: | |
push: | |
branches: [ "master" ] | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: API unit tests | |
run: | | |
cd src | |
docker-compose -f docker/docker-compose.yml up test-backend | |
docker cp test-backend:/src/api/coverage.out ./ | |
- name: Frontend unit tests | |
run: | | |
cd src | |
docker-compose -f docker/docker-compose.yml up test-frontend | |
docker cp docker_test-frontend_1:/src/coverage/ ./ | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v2 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Docker cleanup | |
run: | | |
cd src | |
docker-compose -f docker/docker-compose.yml down | |
- name: Build the API | |
run: | | |
cd src | |
docker-compose -f docker/docker-compose.yml build app | |
- name: Build the db init | |
run: | | |
cd src | |
docker-compose -f docker/docker-compose.yml build init | |
- name: Push docker images to Docker Hub | |
run: | | |
echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin | |
docker push renkman/renkbench | |
docker push renkman/renkbench-init | |
- name: Deploy to renkbench.de | |
run: | | |
echo -e "${{ secrets.DEPLOYMENT_KEY }}" > key | |
chmod 600 key | |
scp -i key -o StrictHostKeyChecking=no src/docker/docker-compose.yml root@178.128.195.176:/root/deploy | |
scp -i key -o StrictHostKeyChecking=no src/docker/mongo-init.sh root@178.128.195.176:/root/deploy | |
echo "MONGO_INITDB_ROOT_USERNAME=${{ secrets.MONGO_INITDB_ROOT_USERNAME }}" > .env | |
echo "MONGO_INITDB_ROOT_PASSWORD=${{ secrets.MONGO_INITDB_ROOT_PASSWORD }}" >> .env | |
echo "DB_USER=${{ secrets.DB_USER }}" >> .env | |
echo "DB_PASSWORD=${{ secrets.DB_PASSWORD }}" >> .env | |
echo "BUILDNUMBER=${{ github.run_number }}" >> .env | |
echo "RELEASENUMBER=${{ github.run_number }}" >> .env | |
scp -i key -o StrictHostKeyChecking=no .env root@178.128.195.176:/root/deploy | |
ssh -i key -o StrictHostKeyChecking=no root@178.128.195.176 "docker pull renkman/renkbench-init" | |
ssh -i key -o StrictHostKeyChecking=no root@178.128.195.176 "docker pull renkman/renkbench" | |
ssh -i key -o StrictHostKeyChecking=no root@178.128.195.176 "docker-compose -f /root/deploy/docker-compose.yml down" | |
ssh -i key -o StrictHostKeyChecking=no root@178.128.195.176 "docker-compose -f /root/deploy/docker-compose.yml up -d init" | |
ssh -i key -o StrictHostKeyChecking=no root@178.128.195.176 "docker-compose -f /root/deploy/docker-compose.yml up -d app" | |
ssh -i key -o StrictHostKeyChecking=no root@178.128.195.176 "rm /root/deploy/.env" | |
rm key | |
rm .env |