Skip to content

Change admin.yml

Change admin.yml #2

Workflow file for this run

name: DeployAdmin
on:
push:
jobs:
deploy-dev:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Checkout
uses: actions/checkout@v2.3.3
- uses: actions/setup-node@v1
with:
node-version: "16"
- name: Build admin panel and push on ECR
run: |
cd admin
aws ecr get-login-password --region ${{ secrets.AWS_REGION }} | docker login --username AWS --password-stdin ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com
docker build -t blog-admin-panel:${{ secrets.GITHUB_SHA }}-${{ secrets.GITHUB_RUN_ATTEMPT }}-blog-admin .
docker tag blog-admin-panel:${{ secrets.GITHUB_SHA }}-${{ secrets.GITHUB_RUN_ATTEMPT }}-blog-admin ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/blog-admin:${{ secrets.GITHUB_SHA }}-${{ secrets.GITHUB_RUN_ATTEMPT }}-blog-admin
docker push ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/blog-admin:${{ secrets.GITHUB_SHA }}-${{ secrets.GITHUB_RUN_ATTEMPT }}-blog-admin
- name: Deploy
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SERVER_ADDRESS: ${{ secrets.SERVER_ADDRESS }}
SERVER_USER: ${{ secrets.SERVER_USER }}
run: |
- echo "$SSH_PRIVATE_KEY" > ssh_private_key && chmod 600 ssh_private_key
- scp -i ssh_private_key -r nginx $SERVER_USER@$SERVER_ADDRESS:blog-admin-deployment
- cat admin/deploy.sh | ssh -i ssh_private_key $SERVER_USER@$SERVER_ADDRESS 'cat > ./blog-admin-deployment/deploy.sh'
- cat admin/docker-compose.yaml | ssh -i ssh_private_key $SERVER_USER@$SERVER_ADDRESS
sudo
APP_REPLICAS=${{secrets.APP_REPLICAS}}
PUBLISH_PORT=${{secrets.PUBLISH_PORT}}
APP_KEYS=${{secrets.APP_KEYS}}
API_TOKEN_SALT=${{secrets.API_TOKEN_SALT}}
ADMIN_JWT_SECRET=${{secrets.ADMIN_JWT_SECRET}}
JWT_SECRET=${{secrets.JWT_SECRET}}
DATABASE_CLIENT=${{secrets.DATABASE_CLIENT}}
DATABASE_HOST=${{secrets.DATABASE_HOST}}
DATABASE_PORT=${{secrets.DATABASE_PORT}}
DATABASE_NAME=${{secrets.DATABASE_NAME}}
DATABASE_USERNAME=${{secrets.DATABASE_USERNAME}}
DATABASE_PASSWORD=${{secrets.DATABASE_PASSWORD}}
DATABASE_SSL=${{secrets.DATABASE_SSL}}
ACCESS_KEY_ID=${{secrets.ACCESS_KEY_ID}}
SECRET_ACCESS_KEY=${{secrets.SECRET_ACCESS_KEY}}
AWS_REGION=${{secrets.AWS_REGION}}
AWS_BUCKET=${{secrets.AWS_BUCKET}}
'bash -c "cd blog-admin-deployment && cat > docker-compose.yaml && chmod -R 755 ./deploy.sh && ./deploy.sh"'
- ssh -i ssh_private_key $SERVER_USER@$SERVER_ADDRESS 'rm -rf blog-admin-deployment'