Skip to content

Update deploy-prod.yml #146

Update deploy-prod.yml

Update deploy-prod.yml #146

Workflow file for this run

name: "Build and Push to GHCR"
on:
push:
branches:
- prod
jobs:
# build_push:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Login to GitHub Container Registry
# uses: docker/login-action@v2
# with:
# registry: ghcr.io
# username: ${{ secrets.GHCR_USERNAME }}
# password: ${{ secrets.GHCR_TOKEN }}
# - name: Build and Push Docker Image
# env:
# PROD_ENV_FILE: ${{ secrets.PROD_ENV_FILE }}
# run: |
# echo "$PROD_ENV_FILE" > .env
# export CURRENT_BRANCH=${GITHUB_REF#refs/heads/}
# export TAG=$([[ $CURRENT_BRANCH == $(basename ${{ github.ref }}) ]] && echo $CURRENT_BRANCH || echo "latest")
# echo $TAG
# export GITHUB_REF_IMAGE=ghcr.io/$GITHUB_REPOSITORY:$GITHUB_SHA
# export GITHUB_BRANCH_IMAGE=ghcr.io/$GITHUB_REPOSITORY:$TAG
# export GITHUB_REF_IMAGE=$(echo $GITHUB_REF_IMAGE | tr '[:upper:]' '[:lower:]')
# export GITHUB_BRANCH_IMAGE=$(echo $GITHUB_BRANCH_IMAGE | tr '[:upper:]' '[:lower:]')
# docker build --build-arg version=$GITHUB_SHA -t $GITHUB_REF_IMAGE -t $GITHUB_BRANCH_IMAGE .
# echo "Pushing Image to GitHub Container Registry"
# docker push $GITHUB_REF_IMAGE
# docker push $GITHUB_BRANCH_IMAGE
# rm -rf .env
deploy_prod:
#needs: build_push
runs-on: ubuntu-latest
strategy:
matrix:
server: [ "SRV_1", "SRV_2" ]
steps:
- name: Set environment variables for SRV_1
if: matrix.server == 'SRV_1'
run: echo "REMOTE_SERVER_ADDRESS=${{ secrets.PROD_REMOTE_SERVER_ADDRESS_SRV_1 }}" >> $GITHUB_ENV
- name: Set environment variables for SRV_2
if: matrix.server == 'SRV_2'
run: echo "REMOTE_SERVER_ADDRESS=${{ secrets.PROD_REMOTE_SERVER_ADDRESS_SRV_2 }}" >> $GITHUB_ENV
- name: Deploy on ${{ matrix.server }} server
if: github.ref == 'refs/heads/prod'
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ env.REMOTE_SERVER_ADDRESS }}
username: ${{ secrets.PROD_SERVER_USERNAME }}
key: ${{ secrets.PROD_REMOTE_SERVER_KEY }}
port: ${{ secrets.PROD_SSH_PORT }}
script: |
pwd
docker stop erebrus-frontend && docker rm erebrus-frontend
docker rmi ghcr.io/netsepio/erebrus-frontend:prod
echo ${{ secrets.GHCR_TOKEN }} | docker login ghcr.io -u ${{ secrets.GHCR_USERNAME }} --password-stdin
docker pull ghcr.io/netsepio/erebrus-frontend:prod
docker run --name="erebrus-frontend" --rm -p 4040:8080 --net=bridge -d ghcr.io/netsepio/erebrus-frontend:prod