33
33
${{ runner.os }}-gradle-
34
34
35
35
- name : Grant execute permission for gradlew
36
- run :
37
- chmod +x gradlew
36
+ run : chmod +x gradlew
38
37
39
38
# # create application-prod.yml
40
39
- name : create application.yml
48
47
- name : Build with Gradle
49
48
run : ./gradlew build -x test
50
49
51
- # # docker build & push to production
52
- - name : Build Docker image
53
- run : docker build --tag acchotsix/acc-hotsix:latest .
54
-
55
- - name : Log in to DockerHub
56
-
57
- with :
58
- username : ${{ secrets.DOCKER_USERNAME }}
59
- password : ${{ secrets.DOCKER_PASSWORD }}
60
-
61
- - name : Push image to DockerHub
62
- run : docker push acchotsix/acc-hotsix:latest
63
-
64
- - name : Make zip file
65
- run : zip -r ./hotsix.zip .
66
-
67
50
# # deploy to production
68
51
- name : Configure AWS IAM credentials
69
52
uses : aws-actions/configure-aws-credentials@v1
@@ -72,12 +55,39 @@ jobs:
72
55
aws-secret-access-key : ${{ secrets.AWS_SECRET_KEY }}
73
56
aws-region : ap-northeast-2
74
57
58
+ - name : Login to ECR
59
+ id : login-ecr
60
+ uses : aws-actions/amazon-ecr-login@v1
61
+
62
+ # # docker build
63
+ - name : build docker file and setting deploy files
64
+ env :
65
+ ECR_REGISTRY : ${{ steps.login-ecr.outputs.registry }}
66
+ ECR_REPOSITORY : acc6-ecr
67
+ IMAGE_TAG : ${{ github.sha }}
68
+ run : |
69
+ docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
70
+ docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
71
+ mkdir scripts
72
+ touch scripts/deploy.sh
73
+ echo "aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin $ECR_REGISTRY" >> scripts/deploy.sh
74
+ echo "docker pull $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> scripts/deploy.sh
75
+ echo "docker run -p 8080:8080 -e PROFILE=dev -d --restart always --name csbroker-api $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> scripts/deploy.sh
76
+
75
77
- name : Upload to S3
76
- run : aws s3 cp --region ap-northeast-2 ./hotsix.zip s3://acc6-s3-dev-an2/hotsix.zip # 버킷에 업로드.
78
+ env :
79
+ IMAGE_TAG : ${{ github.sha }}
80
+ run : |
81
+ zip -r deploy-$IMAGE_TAG.zip ./scripts appspec.yml
82
+ aws s3 cp --region ap-northeast-2 --acl private ./deploy-$IMAGE_TAG.zip s3://acc6-s3-dev-an2
77
83
78
84
- name : Start CodeDeploy Agent
79
- run : >
80
- aws deploy create-deployment --application-name hotsix
81
- --deployment-config-name CodeDeployDefault.AllAtOnce
85
+ env :
86
+ IMAGE_TAG : ${{ github.sha }}
87
+ run : |
88
+ aws deploy create-deployment
89
+ --application-name hotsix
82
90
--deployment-group-name deploy-group
83
- --s3-location bucket=acc6-s3-dev-an2,bundleType=zip,key=hotsix.zip
91
+ --deployment-config-name CodeDeployDefault.AllAtOnce
92
+ --s3-location bucket=acc6-s3-dev-an2,bundleType=zip,key=deploy-$IMAGE_TAG.zip
93
+ --debug
0 commit comments