chore: 배포 테스트 #62
Workflow file for this run
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
name: 개발 서버 배포 | |
on: | |
push: | |
branches: | |
- '**' | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: JDK 17 설정 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'zulu' | |
- name: Create application-secret.yml | |
run: | | |
echo "${{ secrets.SECRET }}" > ./src/main/resources/application-secret.yml | |
- name: Build with Gradle | |
run: | | |
ls -l | |
which chmod | |
/usr/bin/chmod +x ./gradlew | |
./gradlew clean build -x test | |
- name: JAR를 EC2로 전송 | |
env: | |
PRIVATE_KEY: ${{ secrets.KEY }} | |
HOST: ${{ secrets.HOST }} | |
USER: ${{ secrets.USER }} | |
run: | | |
echo "${PRIVATE_KEY}" > private_key && /usr/bin/chmod 600 private_key | |
scp -o StrictHostKeyChecking=no -i private_key ./build/libs/*.jar ${USER}@${HOST}:/home/ubuntu | |
- name: EC2에서 JAR 실행 | |
env: | |
PRIVATE_KEY: ${{ secrets.KEY }} | |
HOST: ${{ secrets.HOST }} | |
USER: ${{ secrets.USER }} | |
run: | | |
/usr/bin/ssh -o StrictHostKeyChecking=no -i private_key ${USER}@${HOST} << EOF | |
cd /home/ubuntu | |
PID=\$(lsof -t -i:8080) | |
if [ ! -z "\$PID" ]; then | |
echo "Killing process on port 8080" | |
sudo kill -9 \$PID || echo "Failed to kill process" | |
else | |
echo "No process found on port 8080" | |
fi | |
nohup java -jar storage-0.0.1-SNAPSHOT.jar --spring.profiles.active=local > app.log 2>&1 & | |
EOF |