Merge branch 'master' of github.com:renkman/Renkbench #68
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 |