Skip to content

[REV-407] cicd: 오타수정 #170

[REV-407] cicd: 오타수정

[REV-407] cicd: 오타수정 #170

Workflow file for this run

name: ReviewRanger Default CD
on:
push:
branches: [ "main" ]
env:
RESOURCE_PATH: ./src/main/resources/application.yml
GRADLE_VERSION: 8.3
JAVA_VERSION: '17'
JAVA_DISTRIBUTION: 'temurin'
GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true
BUCKET_NAME: team12-bucket
PROJECT_NAME: ranger
CODE_DEPLOY_APP_NAME: team12-deploy
DEPLOYMENT_GROUP_NAME: team12
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Branch
uses: actions/checkout@v3
# github actions에서 사용할 JDK 설정
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.JAVA_DISTRIBUTION }}
# 빌드 시간 캐싱
- name: Gradle Caching
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
# application.yml 세팅
- name: Set yml file
uses: microsoft/variable-substitution@v1
with:
files: ${{ env.RESOURCE_PATH }}
env:
spring.datasource.url: ${{ secrets.DB_URL }}
spring.datasource.username: ${{ secrets.DB_NAME }}
spring.datasource.password: ${{ secrets.DB_PASSWORD }}
jasypt.encryptor.password: ${{ secrets.JASYPT_KEY }}
openai.api.key: ${{ secrets.OPEN_AI_KEY }}
cloud.aws.credentials.accessKey: ${{ secrets.AWS_ACCESS_KEY_ID }}
cloud.aws.credentials.secretKey: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
cloud.aws.s3.bucket: ${{ secrets.AWS_BUCKET }}
slack.token: ${{ secrets.SLACK_KEY }}
# Gradle에 실행 권한을 부여
- name: Make gradlew executable
run: chmod +x ./gradlew
# Gradle로 build 수행
- name: Build with gradle
run: ./gradlew clean build -x test
# S3에 업로드하기 위한 zip파일 생성
- name: Make Zip File
run: zip -qq -r ./$GITHUB_SHA.zip .
shell: bash
# AWS credentials 값을 가져옴
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2
# S3에 zip파일 업로드
- name: Upload to S3
run: aws s3 cp --region ap-northeast-2 ./$GITHUB_SHA.zip s3://$BUCKET_NAME/$PROJECT_NAME/$GITHUB_SHA.zip
# Code Deploy 사용
- name: Code Deploy To EC2 instance
run: aws deploy create-deployment
--application-name $CODE_DEPLOY_APP_NAME
--deployment-config-name CodeDeployDefault.AllAtOnce
--deployment-group-name $DEPLOYMENT_GROUP_NAME
--s3-location bucket=$BUCKET_NAME,bundleType=zip,key=$PROJECT_NAME/$GITHUB_SHA.zip