From 63ad45aa2b38752507486b35d0859f77a52d61d6 Mon Sep 17 00:00:00 2001 From: 111coding Date: Thu, 30 Nov 2023 20:38:13 +0900 Subject: [PATCH] add workflow --- .github/workflows/deploy.yml | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..9ccc1a4 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,53 @@ +name: blog cicd +on: + push: + branches: + - main + +# https://github.com/actions/setup-java +# 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@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: 11 + distribution: zulu + - name: Pemission + run: chmod +x ./gradlew + - name: Build with Gradle + run: ./gradlew clean 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: | + mkdir deploy + cp build/libs/*.jar deploy/application.jar + cp Procfile deploy/Procfile + cp -r .ebextensions deploy/.ebextensions + 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: blog-eb # 엘리스틱 빈스톡 애플리케이션 이름! + environment_name: Blog-eb-env # 엘리스틱 빈스톡 환경 이름! + version_label: blog-${{steps.current-time.outputs.formattedTime}} + region: ap-northeast-2 + deployment_package: deploy/deploy.zip \ No newline at end of file