Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server lipton #127

Merged
merged 2 commits into from
Feb 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 27 additions & 16 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,18 @@ jobs:
uses: gradle/[email protected]
with:
arguments: build
- name: Create Docker Images
run : |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker build -t ${{ secrets.DOCKER_USERNAME }}/mada-project .
docker push ${{ secrets.DOCKER_USERNAME }}/mada-project

# 빌드해서 생긴 JAR 파일을 깃허브 아티팩트로 업로드!!
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: trelloServer
path: build/libs/trelloServer-0.0.1-SNAPSHOT.jar
#- name: Upload build artifact
# uses: actions/upload-artifact@v4
# with:
# name: trelloServer
# path: build/libs/trelloServer-0.0.1-SNAPSHOT.jar

# 배포 **
deploy:
Expand All @@ -60,20 +65,26 @@ jobs:
# 위의 빌드작업한 JAR 파일 = 아티팩트를 다운로드
steps:
- name: Download build artifact
uses: actions/download-artifact@v4
uses: appleboy/ssh-action@master
id: deploy-prod
with:
name: trelloServer
path: build/libs/

host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_SSH_KEY }}
scripts: |
sudo docker ps
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/mada-project
sudo docker run -d -p 8080:8080 ${{ secrets.DOCKER_USERNAME }}/mada-project
sudo docker image prune -f
# EC2에 배포
# EC2 SSH 키를 private_key.pem 파일로 저장 ( 위치는 GitHub 서버 )
# SCP를 사용하여 JAR 파일을 EC2 서버로 복사
# SSH를 사용하여 EC2 서버에 연결하고 현재 실행 중인 Java 프로세스를 종료한 다음 새로운 Java 프로세스 생성 및 실행!!
## NLP 적용하면 IP -> 도메인으로 수정 + EC2 늘리면 run 추가
- name: Deploy to EC2
run: |
echo "${{ secrets.EC2_SSH_KEY }}" > private_key.pem
chmod 600 private_key.pem
scp -i private_key.pem -o StrictHostKeyChecking=no build/libs/trelloServer-0.0.1-SNAPSHOT.jar ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/home/${{ secrets.EC2_USERNAME }}/trelloServer.jar
ssh -i private_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }} "pgrep java | xargs kill -9; nohup java -jar /home/${{ secrets.EC2_USERNAME }}/trelloServer.jar > app.log 2>&1 &"
rm -f private_key.pem
#- name: Deploy to EC2
# run: |
# echo "${{ secrets.EC2_SSH_KEY }}" > private_key.pem
# chmod 600 private_key.pem
# scp -i private_key.pem -o StrictHostKeyChecking=no build/libs/trelloServer-0.0.1-SNAPSHOT.jar ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/home/${{ secrets.EC2_USERNAME }}/trelloServer.jar
# ssh -i private_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }} "pgrep java | xargs kill -9; nohup java -jar /home/${{ secrets.EC2_USERNAME }}/trelloServer.jar > app.log 2>&1 &"
# rm -f private_key.pem
Loading