Skip to content

Merge pull request #247 from prgrms-web-devcourse-final-project/featu… #43

Merge pull request #247 from prgrms-web-devcourse-final-project/featu…

Merge pull request #247 from prgrms-web-devcourse-final-project/featu… #43

Workflow file for this run

name: CI/CD-Develop
on:
push:
branches:
- develop
jobs:
build:
runs-on: ubuntu-latest
steps:
# 1. 코드 체크아웃
- uses: actions/checkout@v3
# 2. Java 설정
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '17'
# 3. application.properties 파일 생성 및 설정
- run: touch ./src/main/resources/application.properties
- run: echo "${{secrets.APPLICATION2}}" > ./src/main/resources/application.properties
- run: echo "spring.cloud.aws.credentials.access-key=${{secrets.AWS_ACTION_ACCESS_KEY}}" >> ./src/main/resources/application.properties
- run: echo "spring.cloud.aws.credentials.secret-key=${{secrets.AWS_ACTION_SECRET_ACCESS_KEY}}" >> ./src/main/resources/application.properties
# 4. 생성된 파일들을 아티팩트로 업로드
- uses: actions/upload-artifact@v4
with:
name: application.properties
path: ./src/main/resources/application.properties
# 5. Gradlew 실행 권한 부여
- name: Grant execute permission for gradlew
run: chmod +x gradlew
# 6. Gradle 빌드 실행
- name: Build with Gradle
run: ./gradlew clean build -x test
# 7. 현재 시간 가져오기
- name: Get current time
uses: josStorer/get-current-time@v2
id: current-time
with:
format: YYYY-MM-DDTHH-mm-ss
utcOffset: "+09:00"
# 8. 배포용 패키지 경로 설정
- name: Set artifact path
run: |
artifact=$(ls ./build/libs/*.jar | head -n 1)
echo "artifact=$artifact" >> $GITHUB_ENV
# 9. Elastic Beanstalk에 배포
- name: Deploy to Elastic Beanstalk
uses: einaregilsson/beanstalk-deploy@v20
with:
aws_access_key: ${{ secrets.AWS_ACTION_ACCESS_KEY }}
aws_secret_key: ${{ secrets.AWS_ACTION_SECRET_ACCESS_KEY }}
application_name: Mallangs2-two
environment_name: Mallangs2-two-env
version_label: github-action-${{ steps.current-time.outputs.time }}
region: ap-northeast-2
deployment_package: ${{ env.artifact }}