Skip to content

Update Deploy.yml

Update Deploy.yml #42

Workflow file for this run

name: Deploy Spring Project
on:
push:
branches:
- deploy # 배포를 원하는 브랜치 이름
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: '21' # JDK 버전
distribution: 'temurin' # 또는 'zulu'
- name: Create application properties file
run: echo "${{ secrets.APPLICATION }}" > application.properties # GitHub Secrets에 저장된 프로퍼티 작성
- name: Build with Gradle
run: |
cd boomerang # boomerang 디렉터리로 이동
./gradlew build -x test # Gradle 빌드
- name: Copy files to server
run: |
echo "${{ secrets.SSH_KEY }}" > kwy-root.pem # SSH 키를 파일로 저장
chmod 600 kwy-root.pem # 파일 권한 설정
ssh -i kwy-root.pem ubuntu@ec2-52-79-80-3.ap-northeast-2.compute.amazonaws.com << EOF
# 서버에서 실행할 명령어
cd ~/Team11_BE # 프로젝트 디렉터리로 이동
git pull origin deploy # 배포 브랜치에서 업데이트
ps -ef | grep java | awk '{print $2}' | xargs kill -9 # 이전 Java 프로세스 종료
# 작성된 프로퍼티 파일 이동
cp ~/path/to/application.properties ~/Team11_BE/boomerang/ # 프로퍼티 파일 이동
nohup java -jar -Dspring.config.location=boomerang/application.properties build/libs/boomerang-0.0.1-SNAPSHOT.jar > log.txt 2>&1 & # 애플리케이션 실행
EOF
- name: Check log file
run: |
ssh -i kwy-root.pem ubuntu@ec2-52-79-80-3.ap-northeast-2.compute.amazonaws.com "tail -f ~/Team11_BE/log.txt" # 로그 파일 확인