Skip to content

docs: Update README and buildspec files for improved deployment clarity #98

docs: Update README and buildspec files for improved deployment clarity

docs: Update README and buildspec files for improved deployment clarity #98

Workflow file for this run

name: "CI/CD: ECR Build & Ansible Deploy"
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
env:
AWS_REGION: ${{ secrets.AWS_REGION }}
ECR_REPO_URL: ${{secrets.ECR_REPO_URL}}
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
REDIRECT_URI: ${{ secrets.REDIRECT_URI }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
CONNECTION_STRING: ${{ secrets.CONNECTION_STRING }}
DATABASE_NAME: ${{ secrets.DATABASE_NAME }}
JWT_ALGORITHM: ${{ secrets.JWT_ALGORITHM }}
JWT_SECRET_KEY: ${{ secrets.JWT_SECRET_KEY }}
EXPIRATION_TIME: ${{ secrets.EXPIRATION_TIME }}
DIR_BASE: ${{ secrets.DIR_BASE }}
IMAGE_TAG: latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}
# -- DOCKER BUILD AND PUSH TO ECR --
- name: Login to Amazon ECR
run: |
aws ecr get-login-password --region $AWS_REGION \
| docker login --username AWS --password-stdin $ECR_REPO_URL
- name: Build and Push Docker Image
run: |
docker build \
--build-arg CLIENT_ID=$CLIENT_ID \
--build-arg CLIENT_SECRET=$CLIENT_SECRET \
--build-arg REDIRECT_URI=$REDIRECT_URI \
--build-arg AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
--build-arg AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
--build-arg AWS_ACCOUNT_ID=$AWS_ACCOUNT_ID \
--build-arg AWS_DEFAULT_REGION=$AWS_REGION \
--build-arg CONNECTION_STRING=$CONNECTION_STRING \
--build-arg DATABASE_NAME=$DATABASE_NAME \
--build-arg JWT_ALGORITHM=$JWT_ALGORITHM \
--build-arg JWT_SECRET_KEY=$JWT_SECRET_KEY \
--build-arg EXPIRATION_TIME=$EXPIRATION_TIME \
--build-arg DIR_BASE=$DIR_BASE \
-t easy-deploy-backend Backend/app
docker tag easy-deploy-backend $ECR_REPO_URL:latest
docker push $ECR_REPO_URL:latest
- name: Update ECS Service
run: |
aws ecs update-service --cluster ecs-cluster-easy-deploy --service ecs-service-easy-deploy --force-new-deployment