Skip to content

CI/CD AWS 연동

CI/CD AWS 연동 #3

Workflow file for this run

name: Deploy
on:
workflow_dispatch:
push:
branches:
- feat/*
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
- name: gradlew bootJar
run: ./gradlew bootJar
- name: copy jar to server
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ec2-user
key: ${{ secrets.SSH_KEY }}
port: 22
source: "./build/libs/*.jar"
target: "~"
strip_components: 2
- name: SSH Commands
uses: appleboy/[email protected]
with:
host: ${{ secrets.SSH_HOST }}
username: ec2-user
key: ${{ secrets.SSH_KEY }}
port: 22
script_stop: true
script: |
sudo yum update -y && sudo yum install -y java-17-amazon-corretto
for pid in $(pgrep java); do
if ps -p $pid -o args= | grep -q 'java -jar'; then
echo "Java process with 'java -jar' found (PID: $pid). Terminating..."
kill -9 $pid
fi
done
echo "nohup java -jar ~/*.jar > ~/app.log 2>&1 &" | at now