Files
keyvault/.github/workflows/deploy.yml
Bastian Wagner ca7659d5f4 Testing
2024-11-28 12:18:35 +01:00

42 lines
1.7 KiB
YAML

name: Docker Image CI for GHCR
on:
workflow_run:
workflows: ["Run Unit-Tests"]
types:
- completed
branches:
- master
jobs:
build_and_publish_backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build and Push Image
run: |
docker login --username wagnerbastian --password ${{ secrets.GH_PAT }} ghcr.io
docker build ./api --tag ghcr.io/wagnerbastian/keyvault_pro_api:latest
docker push ghcr.io/wagnerbastian/keyvault_pro_api:latest
build_and_publish_frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build and Push Image
run: |
docker login --username wagnerbastian --password ${{ secrets.GH_PAT }} ghcr.io
docker build ./client --tag ghcr.io/wagnerbastian/keyvault_pro_client:latest
docker push ghcr.io/wagnerbastian/keyvault_pro_client:latest
ssh-login-and-publish:
runs-on: ubuntu-latest
needs: [build_and_publish_frontend, build_and_publish_backend]
steps:
- name: Setup SSH Keys and known_hosts
run: |
install -m 600 -D /dev/null ~/.ssh/id_rsa
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.SERVER_HOST }} > ~/.ssh/known_hosts
- name: connect and pull
run: |
ssh ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }} "cd docker/keyvault && docker stop keyvault_client || true && docker rm keyvault_client || true && docker stop keyvault_pro_api || true && docker rm keyvault_pro_api || true && docker-compose pull && docker-compose up -d"