feat: aws 마이그레이션 작업 #170
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: jurumarble | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- 'README.md' # README.md 파일 변경을 무시 | |
# actions/setup-java@v2는 사용자 정의 배포를 지원하고 Zulu OpenJDK, Eclipse Temurin 및 Adopt OpenJDK를 기본적으로 지원합니다. v1은 Zulu OpenJDK만 지원합니다. | |
jobs: | |
build: | |
runs-on: ubuntu-latest # 우분투 설치 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 # 코드 다운로드 / 적기 귀찮은 것들을 라이브러리(스크립트 모임) 형태로 제공하는 것이 actions 이다. | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v2 # JDK를 설치 | |
with: | |
java-version: 11 | |
distribution: zulu | |
- name: Grant execute permission for gradlew | |
run: chmod +x ./gradlew # gradlew 실행권한 부여 | |
- name: Build with Gradle | |
run: ./gradlew clean build -x test # build 하기 | |
# UTC가 기준이기 때문에 한국시간으로 맞추려면 +9시간 해야 한다. | |
- name: Get current time | |
uses: 1466587594/get-current-time@v2 | |
id: current-time | |
with: | |
format: YYYY-MM-DDTHH-mm-ss | |
utcOffset: "+09:00" | |
- name: Show Current Time #현재시간 보여주기 | |
run: echo "CurrentTime=${{steps.current-time.outputs.formattedTime}}" | |
# EB에 CD 하기 위해 추가 작성 | |
- name: Generate deployment package | |
run: | #명령어 여러줄 적기 위해 1.deploy 폴더 생성 2. jar 파일을 deploy폴더에 복사 3. Procfile 을 deploy폴더에 복사, 4.ebextensions의 폴더를 deploy 폴더에 복사 5. deploy 폴더 압축 | |
mkdir -p deploy | |
cp build/libs/*.jar deploy/application.jar | |
cp Procfile deploy/Procfile | |
cp -r .ebextensions deploy/.ebextensions | |
cp -r .platform deploy/.platform | |
cd deploy && zip -r deploy.zip . | |
- name: Deploy to EB | |
uses: einaregilsson/beanstalk-deploy@v21 #엘라스틱 빈스톡으로 배포하는 라이브러리 | |
with: | |
aws_access_key: ${{ secrets.AWS_ACCESS_KEY }} | |
aws_secret_key: ${{ secrets.AWS_SECRET_KEY }} | |
application_name: jurumarble # 엘리스틱 빈스톡 애플리케이션 이름! | |
environment_name: Jurumarble-env # 엘리스틱 빈스톡 환경 이름! | |
version_label: jurumarble-${{steps.current-time.outputs.formattedTime}} | |
region: ap-northeast-2 | |
deployment_package: deploy/deploy.zip |