Skip to content

Commit 95b784e

Browse files
committed
cicd : git actions 수정
1 parent 443fdb0 commit 95b784e

File tree

1 file changed

+41
-16
lines changed

1 file changed

+41
-16
lines changed

.github/workflows/deploy.yml

Lines changed: 41 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ name: Java CI/CD with Gradle
33

44
on:
55
push:
6-
branches: [ "develop" ]
7-
pull_request:
8-
branches: [ "develop" ]
6+
branches: [ "cicd/#98" ]
97

108
jobs:
119
build:
@@ -63,20 +61,47 @@ jobs:
6361
JAVA_HOME=/usr/local/openjdk-21 \
6462
tags: cowboysj/simter:latest
6563

66-
# push 한 이미지를 ec2에서 pull 받아서 실행
67-
run-docker-image-on-ec2:
68-
needs: build
69-
runs-on: self-hosted
64+
deploy-to-ec2:
65+
runs-on: ubuntu-latest
7066

7167
steps:
72-
- name: docker pull
73-
run : sudo docker pull cowboysj/simter:latest
68+
- name: Checkout code
69+
uses: actions/checkout@v3
7470

75-
- name: docker stop container
76-
run: |
77-
sudo docker ps -a -q -f name=simter-container | grep -q . && sudo docker stop simter-container && sudo docker rm simter-container || echo "Container does not exist"
78-
- name: docker run new container
79-
run: sudo docker run -d -p 8080:8080 --name simter-container -e DB_URL=${{ secrets.DB_URL }} -e DB_USER=${{ secrets.DB_USER }} -e DB_PW=${{ secrets.DB_PW }} -e DB_ROOTPW=${{ secrets.DB_ROOTPW }} -e JWT_SECRET=${{ secrets.JWT_SECRET }} -e OAUTH_ID=${{ secrets.OAUTH_ID }} -e OAUTH_PW=${{ secrets.OAUTH_PW }} -e KAKAO_ID=${{ secrets.KAKAO_ID }} -e KAKAO_URI=${{ secrets.KAKAO_URI }} -e KAKAO_SECRET=${{ secrets.KAKAO_SECRET }} -e MAIL_NAME=${{ secrets.MAIL_NAME }} -e MAIL_PW=${{ secrets.MAIL_PW }} -e CLAUDE_API_KEY=${{ secrets.CLAUDE_API_KEY }} -e SERVER_URL=${{ secrets.SERVER_URL }} -e JAVA_HOME=/usr/local/openjdk-21 cowboysj/simter:latest
71+
- name: Set up SSH
72+
uses: webfactory/ssh-agent@v0.5.3
73+
with:
74+
ssh-private-key: ${{ secrets.EC2_SSH_KEY }}
8075

81-
- name: delete old docker image
82-
run: sudo docker system prune -f
76+
- name: Pull and run Docker on EC2
77+
run: |
78+
ssh -o StrictHostKeyChecking=no ec2-user@${{ secrets.EC2_PUBLIC_IP }} << 'EOF'
79+
sudo docker pull cowboysj/simter:latest
80+
81+
if sudo docker ps -a -q -f name=simter-container | grep -q .; then
82+
sudo docker stop simter-container
83+
sudo docker rm simter-container
84+
fi
85+
86+
sudo docker run -d \
87+
-p 8080:8080 \
88+
--name simter-container \
89+
-e DB_URL=${{ secrets.DB_URL }} \
90+
-e DB_USER=${{ secrets.DB_USER }} \
91+
-e DB_PW=${{ secrets.DB_PW }} \
92+
-e DB_ROOTPW=${{ secrets.DB_ROOTPW }} \
93+
-e JWT_SECRET=${{ secrets.JWT_SECRET }} \
94+
-e OAUTH_ID=${{ secrets.OAUTH_ID }} \
95+
-e OAUTH_PW=${{ secrets.OAUTH_PW }} \
96+
-e KAKAO_ID=${{ secrets.KAKAO_ID }} \
97+
-e KAKAO_URI=${{ secrets.KAKAO_URI }} \
98+
-e KAKAO_SECRET=${{ secrets.KAKAO_SECRET }} \
99+
-e MAIL_NAME=${{ secrets.MAIL_NAME }} \
100+
-e MAIL_PW=${{ secrets.MAIL_PW }} \
101+
-e CLAUDE_API_KEY=${{ secrets.CLAUDE_API_KEY }} \
102+
-e SERVER_URL=${{ secrets.SERVER_URL }} \
103+
-e JAVA_HOME=/usr/local/openjdk-21 \
104+
cowboysj/simter:latest
105+
106+
sudo docker system prune -f
107+
EOF

0 commit comments

Comments
 (0)