Skip to content

🐛 [bug] gpt 레시피 목록 조회 오류 수정 #58 #46

🐛 [bug] gpt 레시피 목록 조회 오류 수정 #58

🐛 [bug] gpt 레시피 목록 조회 오류 수정 #58 #46

Workflow file for this run

name: CI/CD
on:
pull_request:
types: [closed] # pull_request closed 됐을 경우
jobs:
build:
runs-on: ubuntu-latest # OS 환경
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'dev'
# pull_request가 dev 브랜치에 merge 됐을 경우
steps:
- name: Checkout
uses: actions/checkout@v2 # 코드 check out
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17 # 자바 설치
distribution: 'adopt'
- name: Set Environment
uses: microsoft/variable-substitution@v1
with:
files: ./src/main/resources/application.yml
env:
spring.datasource.username: ${{ secrets.DB_USERNAME }}
spring.datasource.url: ${{ secrets.DB_URL }}
spring.datasource.password: ${{ secrets.DB_PASSWORD }}
jwt.token.secret: ${{ secrets.JWT_TOKEN_SECRET }}
spring.mail.username: ${{ secrets.MAIL_USERNAME }}
spring.mail.password: ${{ secrets.MAIL_PASSWORD }}
oauth2.kakao.client-id: ${{ secrets.KAKAO_CLIENT_ID }}
oauth2.kakao.redirect-uri: ${{ secrets.KAKAO_REDIRECT_URI }}
oauth2.kakao.info-url: ${{ secrets.KAKAO_INFO_URL }}
oauth2.kakao.base-url: ${{ secrets.KAKAO_BASE_URL }}
spring.redis.host: ${{ secrets.REDIS_HOST }}
spring.redis.port: ${{ secrets.REDIS_PORT }}
spring.redis.password: ${{ secrets.REDIS_PASSWORD }}
coolsms.api.key: ${{ secrets.COOLSMS_API_KEY }}
coolsms.api.secret: ${{ secrets.COOLSMS_API_SECRET }}
coolsms.senderNumber: ${{ secrets.COOLSMS_SENDER_NUMBER }}
cloud.aws.lambda.url: ${{ secrets.LAMBDA_URL }}
cloud.aws.credentials.accessKey: ${{ secrets.CLOUD_AWS_CREDENTIALS_ACCESSKEY }}
cloud.aws.credentials.secretKey: ${{ secrets.CLOUD_AWS_CREDENTIALS_SECRETKEY }}
naver.ocr.secret: ${{ secrets.NAVER_OCR_SECRET }}
naver.ocr.template: ${{ secrets.NAVER_OCR_TEMPLATE }}
naver.ocr.url: ${{ secrets.NAVER_OCR_URL }}
chatgpt.key: ${{ secrets.GPT_KEY }}
naver.geo.url: ${{ secrets.NAVER_GEO_URL }}
naver.geo.client: ${{ secrets.NAVER_GEO_CLIENT }}
naver.geo.key: ${{ secrets.NAVER_GEO_KEY }}
spring.elasticsearch.username: ${{ secrets.ELASTIC_USERNAME }}
spring.elasticsearch.password: ${{ secrets.ELASTIC_PASSWORD }}
spring.elastic.url: ${{ secrets.ELASTIC_URL }}
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
shell: bash # (6).권한 부여
- name: Build with Gradle
run: ./gradlew clean build -x test
shell: bash # (7).build 시작
- 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=$"
shell: bash
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Docker build
run: |
docker build -t ${{ secrets.PROJECT_NAME }} .
docker tag ${{ secrets.PROJECT_NAME }} ${{ secrets.DOCKER_HUB_REPO }}:${GITHUB_SHA::7}
docker push ${{ secrets.DOCKER_HUB_REPO }}:${GITHUB_SHA::7}
- name: Deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_SERVER_HOST }}
username: ubuntu
key: ${{ secrets.PRIVATE_KEY }}
envs: GITHUB_SHA
script: |
docker rmi $(docker images -q)
docker pull ${{ secrets.DOCKER_HUB_REPO }}:${GITHUB_SHA::7}
docker tag ${{ secrets.DOCKER_HUB_REPO }}:${GITHUB_SHA::7} ${{ secrets.PROJECT_NAME }}
docker stop ${{ secrets.PROJECT_NAME }}
docker rm ${{ secrets.PROJECT_NAME }}
docker run -d --name ${{ secrets.PROJECT_NAME }} --network ${{ secrets.DOCKER_NETWORK }} -p 80:8080 ${{ secrets.PROJECT_NAME }}