@@ -3,9 +3,7 @@ name: Java CI/CD with Gradle
33
44on :
55 push :
6- branches : [ "develop" ]
7- pull_request :
8- branches : [ "develop" ]
6+ branches : [ "cicd/#98" ]
97
108jobs :
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