Skip to content

Fix: API 명세에 맞게 이름 변경 #16

Fix: API 명세에 맞게 이름 변경

Fix: API 명세에 맞게 이름 변경 #16

Workflow file for this run

name: Spring Boot CI/CD
on:
push:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'oracle'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
- name: Create private properties
run: |
echo "spring.datasource.url=$DB_URL" >> ./src/main/resources/application-private.properties
echo "spring.datasource.username=$DB_USER" >> ./src/main/resources/application-private.properties
echo "spring.datasource.password=$DB_PASSWORD" >> ./src/main/resources/application-private.properties
echo "jwt.secret-key=$JWT_SECRET_KEY" >> ./src/main/resources/application-private.properties
echo "jwt.access-token-expiration-time=$JWT_ACCESS_TOKEN_EXPIRATION_TIME" >> ./src/main/resources/application-private.properties
env:
DB_URL: ${{ secrets.DB_URL }}
DB_USER: ${{ secrets.DB_USER }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
JWT_SECRET_KEY: ${{ secrets.JWT_SECRET_KEY }}
JWT_ACCESS_TOKEN_EXPIRATION_TIME: ${{ secrets.JWT_ACCESS_TOKEN_EXPIRATION_TIME }}
- name: Change gradlew permissions
run: chmod +x ./gradlew
- name: Build with Gradle Wrapper
run: ./gradlew bootJar
- name: Upload build file to artifact
uses: actions/upload-artifact@v4
with:
name: wegri
path: ./build/libs/*.jar
deploy:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download build file from artifact
uses: actions/download-artifact@v4
with:
name: wegri
- name: Copy build file to remote
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
source: ./*.jar
target: ./deploy
- name: Execute build file
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
JAR_NAME=$(basename ./deploy/*.jar)
CURRENT_PID=$(pgrep -f $JAR_NAME)
if [ -z $CURRENT_PID ]
then
echo " Pass"
sleep 1
else
echo " Kill -15 $CURRENT_PID"
kill -15 $CURRENT_PID
sleep 5
fi
nohup java -jar ./deploy/$JAR_NAME > log.out 2>&1 &