Skip to content

Fix: 음성 스크립트 삭제 시 프로젝트 생성일자 변경 수정 #326

Fix: 음성 스크립트 삭제 시 프로젝트 생성일자 변경 수정

Fix: 음성 스크립트 삭제 시 프로젝트 생성일자 변경 수정 #326

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle
name: Java CI with Gradle & Docker
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
permissions:
contents: read
env:
MAIL_HOST: ${{ secrets.MAIL_HOST }}
MAIL_PORT: ${{ secrets.MAIL_PORT }}
MAIL_USERNAME: ${{ secrets.MAIL_USERNAME }}
MAIL_PASSWORD: ${{ secrets.MAIL_PASSWORD }}
MAIL_SMTP_TRUST: ${{ secrets.MAIL_SMTP_TRUST }}
KAKAO_CLIENT_ID: ${{ secrets.KAKAO_CLIENT_ID }}
KAKAO_CLIENT_SECRET: ${{ secrets.KAKAO_CLIENT_SECRET }}
KAKAO_REDIRECT_URI: ${{ secrets.KAKAO_REDIRECT_URI }}
NAVER_CLIENT_ID: ${{ secrets.NAVER_CLIENT_ID }}
NAVER_CLIENT_SECRET: ${{ secrets.NAVER_CLIENT_SECRET }}
NAVER_REDIRECT_URI: ${{ secrets.NAVER_REDIRECT_URI }}
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }}
GOOGLE_REDIRECT_URI: ${{ secrets.GOOGLE_REDIRECT_URI }}
JWT_SECRET_KEY: ${{ secrets.JWT_SECRET_KEY }}
JWT_ACCESS_TOKEN_VALIDITY: ${{ secrets.JWT_ACCESS_TOKEN_VALIDITY }}
JWT_REFRESH_TOKEN_VALIDITY: ${{ secrets.JWT_REFRESH_TOKEN_VALIDITY }}
MONGODB_URI: ${{ secrets.MONGODB_URI }}
MONGODB_DATABASE: ${{ secrets.MONGODB_DATABASE }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
steps:
- name: Checkout Source
uses: actions/checkout@v4
- name: Grant execute permission for gradlew
run : chmod +x ./gradlew
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: gradle
# Configure Gradle for optimal use in GitHub Actions, including caching of downloaded dependencies.
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
# - name: Setup Gradle
# uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
- name: Build with Gradle Wrapper
run: ./gradlew clean build --info
- name: Log in to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build Docker Image
run: docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/kwcapstone-server .
- name: Push Docker Image
run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/kwcapstone-server
- name: Deploy to Remote Server
uses: appleboy/[email protected]
with:
host: ${{ secrets.WAS_HOST }}
username: ${{ secrets.WAS_USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.WAS_SSH_PORT }}
envs: MAIL_HOST,MAIL_PORT,MAIL_USERNAME,MAIL_PASSWORD,MAIL_SMTP_TRUST,
KAKAO_CLIENT_ID,KAKAO_CLIENT_SECRET,KAKAO_REDIRECT_URI,
NAVER_CLIENT_ID,NAVER_CLIENT_SECRET,NAVER_REDIRECT_URI,
GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET,GOOGLE_REDIRECT_URI,
JWT_SECRET_KEY,JWT_ACCESS_TOKEN_VALIDITY,JWT_REFRESH_TOKEN_VALIDITY,
MONGODB_URI,MONGODB_DATABASE,
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,S3_BUCKET_NAME,
OPENAI_API_KEY
script: |
docker stop kwcapstone-server || true
docker rm kwcapstone-server || true
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/kwcapstone-server
docker run -d -p 8080:8080 --name kwcapstone-server \
-e MAIL_HOST="${MAIL_HOST}" \
-e MAIL_PORT="${MAIL_PORT}" \
-e MAIL_USERNAME="${MAIL_USERNAME}" \
-e MAIL_PASSWORD="${MAIL_PASSWORD}" \
-e MAIL_SMTP_TRUST="${MAIL_SMTP_TRUST}" \
-e KAKAO_CLIENT_ID="${KAKAO_CLIENT_ID}" \
-e KAKAO_CLIENT_SECRET="${KAKAO_CLIENT_SECRET}" \
-e KAKAO_REDIRECT_URI="${KAKAO_REDIRECT_URI}" \
-e NAVER_CLIENT_ID="${NAVER_CLIENT_ID}" \
-e NAVER_CLIENT_SECRET="${NAVER_CLIENT_SECRET}" \
-e NAVER_REDIRECT_URI="${NAVER_REDIRECT_URI}" \
-e GOOGLE_CLIENT_ID="${GOOGLE_CLIENT_ID}" \
-e GOOGLE_CLIENT_SECRET="${GOOGLE_CLIENT_SECRET}" \
-e GOOGLE_REDIRECT_URI="${GOOGLE_REDIRECT_URI}" \
-e JWT_SECRET_KEY="${JWT_SECRET_KEY}" \
-e JWT_ACCESS_TOKEN_VALIDITY="${JWT_ACCESS_TOKEN_VALIDITY}" \
-e JWT_REFRESH_TOKEN_VALIDITY="${JWT_REFRESH_TOKEN_VALIDITY}" \
-e MONGODB_URI="${MONGODB_URI}" \
-e MONGODB_DATABASE="${MONGODB_DATABASE}" \
-e AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
-e AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
-e S3_BUCKET_NAME="${S3_BUCKET_NAME}" \
-e OPENAI_API_KEY="${OPENAI_API_KEY}" \
${{ secrets.DOCKERHUB_USERNAME }}/kwcapstone-server
# NOTE: The Gradle Wrapper is the default and recommended way to run Gradle (https://docs.gradle.org/current/userguide/gradle_wrapper.html).
# If your project does not have the Gradle Wrapper configured, you can use the following configuration to run Gradle with a specified version.
#
# - name: Setup Gradle
# uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
# with:
# gradle-version: '8.9'
#
# - name: Build with Gradle 8.9
# run: gradle build
# dependency-submission:
#
# runs-on: ubuntu-latest
# permissions:
# contents: write
#
# steps:
# - uses: actions/checkout@v4
# - name: Set up JDK 21
# uses: actions/setup-java@v4
# with:
# java-version: '21'
# distribution: 'temurin'
#
# # Generates and submits a dependency graph, enabling Dependabot Alerts for all project dependencies.
# # See: https://github.com/gradle/actions/blob/main/dependency-submission/README.md
# - name: Generate and submit dependency graph
# uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0