1- name : Deploy App
1+ name : Deploy App
22
33on :
44 push :
@@ -10,64 +10,38 @@ permissions:
1010 contents : read
1111
1212jobs :
13- authenticate-aws :
13+ deploy :
1414 runs-on : ubuntu-latest
15- outputs :
16- image_tag : ${{ steps.set-image-tag.outputs.IMAGE_TAG }}
1715 steps :
1816 - name : Checkout Code
1917 uses : actions/checkout@v3
2018
2119 - name : Configure AWS Credentials
2220 uses : aws-actions/configure-aws-credentials@v3
2321 with :
24- role-to-assume : arn:aws:iam::${{ vars.AWS_ACCOUNT_ID }} :role/pipeline
22+ role-to-assume : arn:aws:iam::302263053017 :role/pipeline
2523 role-session-name : GitHubActions
26- aws-region : ${{ vars.AWS_REGION }}
24+ aws-region : us-east-1
2725 audience : sts.amazonaws.com
2826
2927 - name : Set Image Tag
30- id : set-image-tag
3128 run : echo "IMAGE_TAG=$(date +%Y%m%d%H%M%S)" >> $GITHUB_ENV
3229
33- push-to-ecr :
34- needs : authenticate-aws
35- runs-on : ubuntu-latest
36- steps :
37- - name : Checkout Code
38- uses : actions/checkout@v3
39-
4030 - name : Login to Amazon ECR
4131 run : |
4232 aws ecr get-login-password --region ${{ vars.AWS_REGION }} | docker login --username AWS --password-stdin ${{ vars.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com
4333
4434 - name : Build and Push Docker Image to ECR
45- env :
46- IMAGE_TAG : ${{ needs.authenticate-aws.outputs.image_tag }}
4735 run : |
4836 docker build -t flask-app .
49- docker tag flask-app:latest ${{ vars.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.ECR_REPOSITORY }}:$IMAGE_TAG
50- docker push ${{ vars.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.ECR_REPOSITORY }}:$IMAGE_TAG
51-
52- deploy :
53- needs : push-to-ecr
54- runs-on : ubuntu-latest
55- steps :
56- - name : Configure AWS Credentials
57- uses : aws-actions/configure-aws-credentials@v3
58- with :
59- role-to-assume : arn:aws:iam::${{ vars.AWS_ACCOUNT_ID }}:role/pipeline
60- role-session-name : GitHubActions
61- aws-region : ${{ vars.AWS_REGION }}
62- audience : sts.amazonaws.com
37+ docker tag flask-app:latest ${{ vars.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.ECR_REPOSITORY }}:${{ env.IMAGE_TAG }}
38+ docker push ${{ vars.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.ECR_REPOSITORY }}:${{ env.IMAGE_TAG }}
6339
6440 - name : Deploy Container Image to AWS Lambda
65- env :
66- IMAGE_TAG : ${{ needs.authenticate-aws.outputs.image_tag }}
6741 run : |
6842 aws lambda update-function-code \
6943 --function-name ${{ vars.LAMBDA_FUNCTION_NAME }} \
70- --image-uri ${{ vars.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.ECR_REPOSITORY }}:$IMAGE_TAG
44+ --image-uri ${{ vars.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.ECR_REPOSITORY }}:${{ env. IMAGE_TAG }}
7145
7246 - name : Enable Lambda Function URL
7347 run : |
0 commit comments