fix: 일기가 존재하는 날짜 반환 기능에서 리스트 중복 제거 로직 추가 (#25) #15
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
# workflow의 이름 | |
name: build_deploy | |
# 특정한 이벤트(조건)에 workflow를 실행시키는 트리거 | |
# main 브런치에 push할 때 동작 | |
on: | |
push: | |
branches: [ main ] | |
env: | |
PROJECT_NAME: server | |
# 하나 이상의 실행할 작업(Job)과 그 작업(Job)을 실행할 환경 | |
jobs: | |
# 빌드와 배포를 할 작업인 job | |
build_and_deploy: | |
# 작업을 시스템 유형 (ubuntu) | |
runs-on: ubuntu-latest | |
# Job이 포함하고있는 일련의 업무들(steps) | |
steps: | |
# 워크플로가 쓰인 프로젝트의 github 저장소의 $GITHUB_WORKSPACE에 접근할 수 있게 해줌 | |
# https://github.com/actions/checkout | |
- name: Checkout github workspace | |
uses: actions/checkout@v2 | |
# Java파일 사용을 위한 Java 환경을 다운로드 | |
# https://github.com/actions/setup-java | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v2 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Set Yaml | |
uses: microsoft/variable-substitution@v1 | |
with: | |
files: ./src/main/resources/application.yml | |
env: | |
spring.security.oauth2.client.registration.google.client-id: ${{secrets.GOOGLE_CLIENT_ID}} | |
spring.security.oauth2.client.registration.google.client-secret: ${{secrets.GOOGLE_CLIENT_SECRET}} | |
spring.security.oauth2.client.registration.google.redirect-uri: ${{secrets.GOOGLE_REDIRECT_URI}} | |
spring.datasource.url: ${{secrets.DATASOURCE_URL}} | |
spring.datasource.username: ${{secrets.DATASOURCE_ADMIN}} | |
spring.datasource.password: ${{secrets.DATASOURCE_PASSWD}} | |
cloud.aws.s3.bucket: ${{secrets.BUCKET_NAME}} | |
cloud.aws.credentials.access-key: ${{secrets.S3_ACCESS_KEY}} | |
cloud.aws.credentials.secret-key: ${{secrets.S3_SECRET_KEY}} | |
# gradlew 실행권한 주기 | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
shell: bash | |
# 빌드하기 | |
- name: Build with Gradle | |
run: ./gradlew build | |
shell: bash | |
# zip으로 압축 | |
# 현재 directory를 현재 경로에 build.zip 이름으로 압축 | |
# -r 하위경로까지 모두다라는 옵션 | |
- name: Compress the result into zip file | |
run: zip -r ./$PROJECT_NAME.zip . | |
shell: bash | |
# aws 인증서비스 | |
# github repository에서 Setting에서 사용할 암호화된 변수 | |
- 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 | |
- name: Upload to S3 | |
run: aws s3 cp --region ap-northeast-2 ./$PROJECT_NAME.zip s3://${{ secrets.CD_BUCKET_NAME }}/deploy/${{ secrets.PROJECT_NAME }}.zip | |
- name: Deploy to AWS EC2 from S3 | |
run: aws deploy create-deployment --application-name thanksd --deployment-config-name CodeDeployDefault.AllAtOnce --deployment-group-name thanksd-deploy --s3-location bucket=${{ secrets.CD_BUCKET_NAME }},bundleType=zip,key=deploy/${{ secrets.PROJECT_NAME }}.zip |