From 19630eb35bfec10b66d0204ea04eb9951edd9631 Mon Sep 17 00:00:00 2001 From: ay-eonii Date: Tue, 16 Jul 2024 13:10:23 +0900 Subject: [PATCH] feat: self-hosted deploy --- .github/workflows/leets-actions.yml | 77 +++++++++++++++++++---------- 1 file changed, 52 insertions(+), 25 deletions(-) diff --git a/.github/workflows/leets-actions.yml b/.github/workflows/leets-actions.yml index 76a77ae..2ed4c21 100644 --- a/.github/workflows/leets-actions.yml +++ b/.github/workflows/leets-actions.yml @@ -3,14 +3,10 @@ run-name: Running on: push: branches: - - main + - dev - 'releases/**' env: - AWS_REGION: ap-northeast-2 - AWS_S3_BUCKET: gitactionbucket - AWS_CODE_DEPLOY_APPLICATION: cicd-test-cd - AWS_CODE_DEPLOY_GROUP: cicd-test-cd-group APPLICATION: ${{ secrets.APPLICATION }} WORKING_DIRECTORY: ./ @@ -38,26 +34,57 @@ jobs: - name: 프로젝트 빌드 run: ./gradlew clean build -x test - - name: DockerHub 로그인 - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + deploy: + needs: build + runs-on: self-hosted + steps: + - name: change permission + run: | + sudo chown -R ubuntu:ubuntu /home/ubuntu/actions-runner/_work/jwp-shopping-order + - name: kill 8080 port if exist + run: | + CURRENT_PID=$(pgrep -f ${PROJECT_NAME}.*.jar) + if [ -z "$CURRENT_PID" ]; then + echo "> NONE\\n" + else + echo "> kill -9 ${CURRENT_PID}\\n" + kill -9 $CURRENT_PID + sleep 5 + fi - - name: 도커 이미지 빌드 및 푸시 + + # 스프링 프로그램을 실행합니다 + - name: deploy run: | - docker build -t ayeonii/leets-be:latest . - docker push ayeonii/leets-be:latest + echo "> Deploy New Project$\\n" + JAR_NAME=$(ls -tr build/libs/*.jar | tail -n 1) + + echo "> jar Name : $JAR_NAME\\n" + + nohup java -jar $JAR_NAME & - - name: 배포 - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.REMOTE_IP }} - username: ${{ secrets.REMOTE_USER }} - key: ${{ secrets.REMOTE_IDENTITYFILE }} - port: ${{ secrets.REMOTE_PORT }} - script: | - cd server - docker compose -f docker-compose.yml down leets-be - docker compose -f docker-compose.yml pull leets-be - docker compose -f docker-compose.yml up -d leets-be + +# +# - name: DockerHub 로그인 +# uses: docker/login-action@v1 +# with: +# username: ${{ secrets.DOCKER_USERNAME }} +# password: ${{ secrets.DOCKER_PASSWORD }} +# +# - name: 도커 이미지 빌드 및 푸시 +# run: | +# docker build -t ayeonii/leets-be:latest . +# docker push ayeonii/leets-be:latest +# +# - name: 배포 +# uses: appleboy/ssh-action@master +# with: +# host: ${{ secrets.REMOTE_IP }} +# username: ${{ secrets.REMOTE_USER }} +# key: ${{ secrets.REMOTE_IDENTITYFILE }} +# port: ${{ secrets.REMOTE_PORT }} +# script: | +# cd server +# docker compose -f docker-compose.yml down leets-be +# docker compose -f docker-compose.yml pull leets-be +# docker compose -f docker-compose.yml up -d leets-be