@@ -3,5 +3,55 @@ name: 심화 배포
3
3
on :
4
4
push :
5
5
branches :
6
- - main
6
+ - release
7
7
8
+ env :
9
+ AWS_REGION : ${{ vars.AWS_REGION }}
10
+ ECR_REPOSITORY_URI : ${{ vars.ECR_REPOSITORY_URI }}
11
+ CONTAINER_NAME : MY_CONTAINER_NAME
12
+ ECS_CLUSTER : ${{ vars.ECS_CLUSTER }}
13
+ ECS_SERVICE : ${{ vars.ECS_SERVICE }}
14
+ ECS_TASK_DEFINITION : ${{ vars.ECS_TASK_DEFINITION }}
15
+
16
+ jobs :
17
+ deploy :
18
+ runs-on : ubuntu-latest
19
+ steps :
20
+ - name : GitHub Repository 가져오기
21
+ uses : actions/checkout@v2
22
+
23
+ - name : JDK 17 설치
24
+ uses : actions/setup-java@v2
25
+ with :
26
+ distribution : temurin
27
+ java-version : 17
28
+
29
+ - name : application.yml 파일 생성
30
+ run : |
31
+ echo "${{ secrets.APPLICATION_YML }}" > ./src/main/resources/application.yml
32
+ echo "${{ secrets.APPLICATION_PROD_YML }}" > ./src/main/resources/application-prod.yml
33
+
34
+ - name : 테스트 및 빌드
35
+ run : ./gradlew clean build
36
+
37
+ - name : Public ECR 접근을 위한 AWS credentials 설정
38
+ uses : aws-actions/configure-aws-credentials@v2
39
+ with :
40
+ aws-region : us-east-1
41
+ aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY }}
42
+ aws-secret-access-key : ${{ secrets.AWS_SECRET_KEY }}
43
+
44
+ - name : ECR 로그인
45
+ id : login-ecr
46
+ uses : aws-actions/amazon-ecr-login@v2
47
+
48
+ - name : 이미지 생성(테그 기반) 및 push
49
+ id : build-image
50
+ env :
51
+ REPOSITORY_NAME : discodeit
52
+ IMAGE_TAG : ${{ github.sha }}
53
+ run : |
54
+ docker build -t $ECR_REPOSITORY_URI/$REPOSITORY_NAME:latest .
55
+ docker push $ECR_REPOSITORY_URI/$REPOSITORY_NAME:latest
56
+ docker push $ECR_REPOSITORY_URI/$REPOSITORY_NAME:${IMAGE_TAG}
57
+ echo "image=$ECR_REPOSITORY_URI/$REPOSITORY_NAME:$latest >> $GITHUB_ENV
0 commit comments