Update: AWS IAM 계정 #3
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: Deploy to Amazon EC2 | |
on: | |
push: | |
branches: | |
- main | |
env: | |
AWS_REGION: ap-northeast-2 | |
S3_BUCKET_NAME: pochak-github-actions-s3-bucket | |
CODE_DEPLOY_APPLICATION_NAME: pochakapp-codedeploy | |
CODE_DEPLOY_DEPLOYMENT_GROUP_NAME: pochak-develop_instance | |
PROJECT_NAME: pochak-develop | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: JDK 17 설치 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'corretto' | |
# 설정파일 | |
- name: add api key file | |
run: echo "${{ secrets.API_KEY }}" > ./src/main/resources/application-API-KEY.properties | |
shell: bash | |
- name: add jwt file | |
run: echo "${{ secrets.JWT }}" > ./src/main/resources/application-JWT.properties | |
shell: bash | |
- name: add oauth file | |
run: echo "${{ secrets.OAUTH }}" > ./src/main/resources/application-OAUTH.properties | |
shell: bash | |
- name: add test setting file | |
run: echo "${{ secrets.TEST }}" > ./src/test/resources/application-TEST.properties | |
shell: bash | |
- name: add authkey file | |
run: echo "${{ secrets.AUTHKEY }}" > ./src/main/resources/static/AuthKey_D5ZQTHUQ4K.p8 | |
shell: bash | |
- name: add elasticsearch file | |
run: echo "${{ secrets.ES }}" > ./src/main/resources/application-ES.properties | |
shell: bash | |
- name: add lambda key file | |
run: echo "${{ secrets.LAMBDA }}" > ./src/main/resources/application-LAMBDA.properties | |
shell: bash | |
- name: gradlew에 실행 권한 부여 | |
run: chmod +x ./gradlew | |
shell : bash | |
- name: Test with Gradle | |
run: ./gradlew test | |
- name: Build with Gradle | |
run: ./gradlew build | |
- name: Make zip file | |
run: zip -qq -r ./$GITHUB_SHA.zip . | |
shell: bash | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} | |
aws-region: ${{ env.AWS_REGION }} | |
- name: Upload to AWS S3 | |
run: | | |
aws deploy push \ | |
--application-name ${{ env.CODE_DEPLOY_APPLICATION_NAME }} \ | |
--ignore-hidden-files \ | |
--s3-location s3://$S3_BUCKET_NAME/$GITHUB_SHA.zip \ | |
--source . | |
- name: Deploy to AWS EC2 from S3 | |
run: | | |
aws deploy create-deployment \ | |
--application-name ${{ env.CODE_DEPLOY_APPLICATION_NAME }} \ | |
--deployment-config-name CodeDeployDefault.AllAtOnce \ | |
--deployment-group-name ${{ env.CODE_DEPLOY_DEPLOYMENT_GROUP_NAME }} \ | |
--s3-location bucket=$S3_BUCKET_NAME,key=$GITHUB_SHA.zip,bundleType=zip |