Deploy to TDT4242 server #22
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: Deploy to TDT4242 server | |
| on: | |
| push: | |
| branches: | |
| - dev | |
| - stage | |
| - main | |
| workflow_dispatch: | |
| inputs: | |
| config: | |
| description: "Which compose config file to deploy" | |
| required: true | |
| default: "docker-compose.dev.yml" | |
| type: choice | |
| options: | |
| - "docker-compose.dev.yml" | |
| - "docker-compose.stag.yml" | |
| - "docker-compose.yml" | |
| jobs: | |
| deploy: | |
| runs-on: self-hosted | |
| env: | |
| REPO_NAME: ${{ github.event.repository.name }} | |
| COMPOSE_FILE: >- | |
| ${{ github.event.inputs.config || | |
| (github.ref == 'refs/heads/dev' && 'docker-compose.dev.yml') || | |
| (github.ref == 'refs/heads/stage' && 'docker-compose.stag.yml') || | |
| (github.ref == 'refs/heads/main' && 'docker-compose.yml') | |
| }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| - name: Dotenv Action | |
| uses: falti/dotenv-action@v1.1.4 | |
| with: | |
| export-variables: true | |
| keys-case: bypass | |
| - name: Check status of config file | |
| run: | | |
| echo "Using compose file: $COMPOSE_FILE" | |
| sudo docker compose version | |
| cd $GITHUB_WORKSPACE | |
| sudo docker compose -f $COMPOSE_FILE config && echo "Compose file is valid" || exit 1 | |
| - name: Build and run docker image | |
| run: | | |
| echo "Deploying with compose file: $COMPOSE_FILE" | |
| sudo docker compose -f $COMPOSE_FILE up --force-recreate --build -d | |
| - name: Verify that gateway is available | |
| run: sudo docker ps |