fix: test if workflow works #47
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy to AWS ECS | |
on: | |
push: | |
branches: ['Abel/Deploy'] # Update to push to 'main' when complete | |
concurrency: | |
group: deploy-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
AWS_REGION: ${{ secrets.AWS_REGION }} # Use GitHub secrets for AWS region | |
ECR_REPOSITORY: app # Set this to your Amazon ECR repository name | |
ECS_SERVICE: SkyDevOps # Set this to your Amazon ECS service name | |
ECS_CLUSTER: Sky # Set this to your Amazon ECS cluster name | |
permissions: | |
contents: read | |
jobs: | |
deploy: | |
name: Deploy | |
runs-on: ubuntu-latest | |
environment: production | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
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: Login to AWS ECR | |
id: login-ecr | |
uses: aws-actions/amazon-ecr-login@v2 | |
- name: Build and push new Docker image to AWS ECR | |
id: build-image | |
env: | |
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | |
IMAGE_TAG: latest | |
run: | | |
# Enable error handling | |
set -e | |
set -o pipefail | |
# Use Docker Buildx to build the image for x86_64 | |
docker buildx build --platform linux/amd64 --push -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . | |
echo "image=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_OUTPUT | |
- name: Deploy to Amazon ECS | |
run: | | |
# Enable error handling | |
set -e | |
set -o pipefail | |
# Update the ECS service | |
aws ecs update-service --cluster ${{ env.ECS_CLUSTER }} --service ${{ env.ECS_SERVICE }} --force-new-deployment |