Skip to content

template for .env

template for .env #24

# name: Deploy Auth Service
# 'on':
# push:
# branches:
# - main
# jobs:
# build:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - name: Decode .env file
# run: |
# echo "${{ secrets.ENCRYPTED_ENV_FILE }}" | base64 --decode > .env.gpg
# gpg --quiet --batch --yes --decrypt --passphrase="${{ secrets.ENV_SECRET_PASSPHRASE }}" --output .env .env.gpg
# - name: Setup AWS creds
# uses: aws-actions/configure-aws-credentials@v1
# with:
# aws-access-key-id: '${{ secrets.AWS_ACCESS_KEY_ID }}'
# aws-secret-access-key: '${{ secrets.AWS_SECRET_ACCESS_KEY }}'
# aws-region: '${{ secrets.AWS_REGION }}'
# - name: Build Docker image
# run: docker build --no-cache -t auth-service ./auth-service
# - name: Push Docker image to ECR
# env:
# AWS_ACCOUNT_ID: '${{ secrets.AWS_ACCOUNT_ID }}'
# AWS_REGION: '${{ secrets.AWS_REGION }}'
# run: |
# aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/repo
# docker tag auth-service:latest $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/repo:latest
# docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/repo:latest
# - name: Decoding SSH KEY
# run: |
# echo "${{ secrets.EC2_SSH_KEY }}" > ec2_key.base64
# base64 --decode ec2_key.base64 > ec2_key.pem.gpg
# gpg --quiet --batch --yes --decrypt --passphrase="${{ secrets.ENV_SECRET_PASSPHRASE }}" --output ec2_key.pem ec2_key.pem.gpg
# chmod 600 ec2_key.pem
# - name: Deploy to EC2
# run: |
# scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ./ec2_key.pem .env ubuntu@${{ secrets.EC2_INSTANCE_IP }}:.env
# ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ./ec2_key.pem ubuntu@${{ secrets.EC2_INSTANCE_IP }} << 'EOF'
# 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/repo
# docker ps -aq | sudo xargs docker rm -f 2>/dev/null || true
# docker images -aq | sudo xargs docker rmi 2>/dev/null || true
# docker run -d --name auth-service -p 80:8000 --env-file .env ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/repo:latest
# sudo rm .env
# EOF
# rm ec2_key* .env*