|
| 1 | +name: Build and Deploy (Docker Linux) - Development |
| 2 | +on: |
| 3 | + workflow_dispatch: |
| 4 | + |
| 5 | +env: |
| 6 | + REMOTE_HOST: containers-dev.library.illinois.edu |
| 7 | + REMOTE_USER: container-user |
| 8 | + COMPOSE_FILE: docker-compose-traefik.yml |
| 9 | + REMOTE_PATH: /home/container-user/getmarc-dev |
| 10 | + |
| 11 | + #Environment Specific |
| 12 | + FQDN: getmarc-dev.library.illinois.edu |
| 13 | + |
| 14 | +jobs: |
| 15 | + deploy: |
| 16 | + runs-on: [self-hosted, linux] |
| 17 | + environment: |
| 18 | + name: development |
| 19 | + url: https://${{ env.FQDN }} |
| 20 | + steps: |
| 21 | + - name: Checkout the repo |
| 22 | + uses: actions/checkout@v2 |
| 23 | + |
| 24 | + - name: Make api.cfg file |
| 25 | + run: | |
| 26 | + echo "[ALMA_API]" > ./api.cfg |
| 27 | + echo "API_DOMAIN=${{ vars.API_DOMAIN }}" >> ./api.cfg |
| 28 | + echo "API_KEY=${{ secrets.API_KEY }}" >> ./api.cfg |
| 29 | +
|
| 30 | + - name: rsync deployments |
| 31 | + uses: burnett01/rsync-deployments@5.2 |
| 32 | + with: |
| 33 | + switches: -avzr --delete --exclude public/system/imports |
| 34 | + path: . |
| 35 | + remote_path: "${{ env.REMOTE_PATH }}" |
| 36 | + remote_host: "${{ env.REMOTE_HOST }}" |
| 37 | + remote_user: "${{ env.REMOTE_USER }}" |
| 38 | + remote_key: ${{ secrets.DOCKER_SSH_PRIVATE_KEY }} |
| 39 | + |
| 40 | + - name: Update containers |
| 41 | + uses: fifsky/ssh-action@master |
| 42 | + with: |
| 43 | + command: | |
| 44 | + cd "${{ env.REMOTE_PATH }}" |
| 45 | + docker compose -f "${{ env.COMPOSE_FILE }}" build --no-cache |
| 46 | + docker compose -f "${{ env.COMPOSE_FILE }}" up --force-recreate --pull always -d |
| 47 | + host: "${{ env.REMOTE_HOST }}" |
| 48 | + user: "${{ env.REMOTE_USER }}" |
| 49 | + key: "${{ secrets.DOCKER_SSH_PRIVATE_KEY }}" |
0 commit comments