Skip to content

Deploy keycloak

Deploy keycloak #20

Workflow file for this run

name: Deploy keycloak
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
environment: keycloak
concurrency:
group: deploy-keycloak-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Copy keycloak resources to production server
uses: appleboy/scp-action@v1
with:
host: ${{ secrets.HOST }}
username: deploy
key: ${{ secrets.SSH_PRIVATE_KEY }}
source: "infra/compose/docker-compose.keycloak.yml,infra/keycloak/realm-export.json,infra/scripts/,Makefile"
target: "/home/deploy/survey-app"
strip_components: 0
rm: false
overwrite: true
- name: Upload .env file
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.HOST }}
username: deploy
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cat << 'EOF' > /home/deploy/survey-app/infra/compose/.env
${{ secrets.ENV_FILE }}
EOF
- name: Upload Caddyfile
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.HOST }}
username: deploy
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cat << 'EOF' > /home/deploy/survey-app/infra/compose/CaddyfileKeycloak
${{ secrets.CADDYFILE_KEYCLOAK }}
EOF
- name: Deploy with Docker Compose (Production)
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.HOST }}
username: deploy
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /home/deploy/survey-app
docker compose -f infra/compose/docker-compose.keycloak.yml down
docker compose -f infra/compose/docker-compose.keycloak.yml --env-file infra/compose/.env up -d --build