diff --git a/.github/workflows/production_build_and_deploy.yml b/.github/workflows/production_build_and_deploy.yml index eded431d..98b15593 100644 --- a/.github/workflows/production_build_and_deploy.yml +++ b/.github/workflows/production_build_and_deploy.yml @@ -1,13 +1,11 @@ name: Production Build and Deploy on: push: - tags: + tags: - 'v*.*.*' -env: +env: DOMAIN: jellyroom.membrane.stream - JF1_HOST: jellyfish.membrane.stream - JF2_HOST: jellyfish1.membrane.stream BE_HOST: server.jellyroom.membrane.stream PROJECT: production COMPOSE_FILE_NAME: docker-compose-deploy.yaml @@ -32,26 +30,15 @@ jobs: echo "DOMAIN=${{env.DOMAIN}} JELLYROOM_VERSION=${{ steps.versions.outputs.jellyroom }} JELLYFISH_VERSION=${{ steps.versions.outputs.jellyfish }} - JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN}} - JF_CHECK_ORIGIN=false - JF_PORT=5002 - JF1_IP=${{secrets.PRODUCTION_IP}} - JF2_IP=${{secrets.PRODUCTION2_IP}} - JF1_HOST=${{env.JF1_HOST}} - JF2_HOST=${{env.JF2_HOST}} + JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN_CLOUD_PRODUCTION}} BE_HOST=${{env.BE_HOST}} BE_JF_SECURE_CONNECTION=true - BE_JF_ADDRESSES=${{env.JF1_HOST}} ${{env.JF2_HOST}} - PROM_JELLYFISH_TARGETS=jellyfish1:9568,${{secrets.PRODUCTION2_IP}}:9568 - PROM_NODE_TARGETS=172.17.0.1:9100,${{secrets.PRODUCTION2_IP}}:9100 - LOKI_ADDRESS=loki - GF_SECURITY_ADMIN_PASSWORD=${{secrets.GF_SECURITY_ADMIN_PASSWORD}} - GF_SECURITY_ADMIN_USER=${{secrets.GF_SECURITY_ADMIN_USER}}" > .env + BE_JF_ADDRESSES=${{vars.JF1_HOST_CLOUD_PRODUCTION}}" > .env - name: Remove old containers on first host uses: JimCronqvist/action-ssh@master with: - hosts: ${{ secrets.PRODUCTION_IP }}:${{ secrets.SSH_PROD_PORT }} + hosts: ${{ secrets.PRODUCTION_IP }} privateKey: ${{ secrets.SSH_PRIV_KEY }} command: | docker ps -aq | xargs -r docker stop | xargs -r docker rm @@ -62,44 +49,5 @@ jobs: remote_docker_host: ${{ secrets.PRODUCTION_IP }} ssh_private_key: ${{ secrets.SSH_PRIV_KEY }} ssh_public_key: ${{ secrets.SSH_PUB_KEY }} - ssh_port: ${{ secrets.SSH_PROD_PORT }} stack_file_name: ${{ env.COMPOSE_FILE_NAME }} - args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build jellyfish1 node-exporter1 frontend backend prometheus grafana promtail loki - - deploy2: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set versions - id: versions - run: echo "jellyfish=$(cat .jellyfish-version)" >> $GITHUB_OUTPUT - - - name: Prepare .env file for the deployment - id: variables_population - run: | - echo "JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN}} - JELLYFISH_VERSION=${{ steps.versions.outputs.jellyfish }} - JF_CHECK_ORIGIN=false - JF_PORT=5002 - JF1_IP=${{secrets.PRODUCTION_IP}} - JF2_IP=${{secrets.PRODUCTION2_IP}} - LOKI_ADDRESS=${{secrets.PRODUCTION_IP}} - JF2_HOST=${{env.JF2_HOST}}" > .env - - name: Remove old containers on second host - uses: JimCronqvist/action-ssh@master - with: - hosts: ${{ secrets.PRODUCTION2_IP }}:${{ secrets.SSH_PROD_PORT }} - privateKey: ${{ secrets.SSH_PRIV_KEY }} - command: | - docker ps -aq | xargs -r docker stop | xargs -r docker rm - - - name: Deploy docker compose to a pre-configured server on second host - uses: TapTap21/docker-remote-deployment-action@v1.1 - with: - remote_docker_host: ${{ secrets.PRODUCTION2_IP }} - ssh_private_key: ${{ secrets.SSH_PRIV_KEY }} - ssh_public_key: ${{ secrets.SSH_PUB_KEY }} - ssh_port: ${{ secrets.SSH_PROD_PORT }} - stack_file_name: ${{ env.COMPOSE_FILE_NAME }} - args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build jellyfish2 node-exporter2 promtail + args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build frontend backend