fix(challenge): 챌린지 목록이 기본으로 개인화 정렬을 하도록 수정 #75
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: Deploy Java Application to EC2 | |
on: | |
push: | |
branches: | |
- dev # Trigger on pushes to the main branch | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Set up JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: temurin | |
java-package: jdk | |
check-latest: false | |
server-id: github | |
server-username: ${{ github.actor }} | |
server-password: ${{ secrets.GITHUB_TOKEN }} | |
overwrite-settings: true | |
- name: Prepare Apple Login Auth Key | |
env: | |
APPLE_AUTH_KEY: ${{ secrets.APPLE_AUTH_KEY }} | |
APPLE_AUTH_KEY_NAME: ${{ secrets.APPLE_AUTH_KEY_NAME }} | |
run: | | |
echo "$APPLE_AUTH_KEY" > src/main/resources/$APPLE_AUTH_KEY_NAME | |
- name: Build JAR | |
run: | | |
./gradlew clean build | |
- name: Prepare SSH Key | |
env: | |
EC2_SSH_KEY: ${{ secrets.EC2_SSH_KEY }} | |
run: | | |
echo "$EC2_SSH_KEY" > ec2_key.pem | |
chmod 600 ec2_key.pem | |
- name: Backup Previous Artifect and Log | |
env: | |
EC2_USER: ${{ secrets.EC2_USER }} | |
EC2_HOST: ${{ secrets.EC2_HOST }} | |
run: | | |
ssh -i ec2_key.pem -o StrictHostKeyChecking=no \ | |
$EC2_USER@$EC2_HOST << EOF | |
if [ -f server.jar ]; then | |
sudo mv server.jar server.bak.jar | |
echo "server.bak.jar created." | |
fi | |
if [ -f app.log ]; then | |
sudo mv app.log app.bak.log | |
echo "app.bak.log created." | |
fi | |
EOF | |
- name: Transfer JAR to EC2 | |
env: | |
EC2_USER: ${{ secrets.EC2_USER }} | |
EC2_HOST: ${{ secrets.EC2_HOST }} | |
run: | | |
scp -i ec2_key.pem -o StrictHostKeyChecking=no \ | |
build/libs/api-0.0.1-SNAPSHOT.jar $EC2_USER@$EC2_HOST:/home/$EC2_USER/server.jar | |
# TODO: The name of jar file might change. Need other way to handle this. | |
- name: Deploy Application on EC2 | |
env: | |
EC2_USER: ${{ secrets.EC2_USER }} | |
EC2_HOST: ${{ secrets.EC2_HOST }} | |
run: | | |
ssh -i ec2_key.pem -o StrictHostKeyChecking=no \ | |
$EC2_USER@$EC2_HOST << EOF | |
pkill -f server.jar || true | |
nohup java -jar /home/$EC2_USER/server.jar --spring.profiles.active=dev > app.log 2>&1 & | |
EOF |