From 4b123db92ab6e4d0f5751af00b8183e12d0cb8d9 Mon Sep 17 00:00:00 2001 From: iamjooon2 Date: Tue, 11 Feb 2025 18:00:02 +0900 Subject: [PATCH 1/4] =?UTF-8?q?cd:=20=EA=B8=B0=EC=A1=B4=20=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC=20=ED=94=8C=EB=A1=9C=EC=9A=B0=20=EC=A3=BC=EC=84=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy-main.yml | 116 +++++++++++++++--------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/.github/workflows/deploy-main.yml b/.github/workflows/deploy-main.yml index 1cbc11b..e67a58e 100644 --- a/.github/workflows/deploy-main.yml +++ b/.github/workflows/deploy-main.yml @@ -1,71 +1,71 @@ -name: Deploy Main +# name: Deploy Main -on: - pull_request: - branches: [main] - types: [closed] +# on: +# pull_request: +# branches: [main] +# types: [closed] -jobs: - deploy: - runs-on: ubuntu-latest +# jobs: +# deploy: +# runs-on: ubuntu-latest - steps: - - name: Deploy to Production Server - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.SERVER_IP }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_PRIVATE_KEY }} - script: | - echo "배포 테스트001" - echo "=== 초기 환경 확인 ===" - echo "Shell: $SHELL" - echo "PATH: $PATH" - echo "PWD: $PWD" - echo "User: $(whoami)" +# steps: +# - name: Deploy to Production Server +# uses: appleboy/ssh-action@master +# with: +# host: ${{ secrets.SERVER_IP }} +# username: ${{ secrets.SERVER_USER }} +# key: ${{ secrets.SSH_PRIVATE_KEY }} +# script: | +# echo "배포 테스트001" +# echo "=== 초기 환경 확인 ===" +# echo "Shell: $SHELL" +# echo "PATH: $PATH" +# echo "PWD: $PWD" +# echo "User: $(whoami)" - echo "=== NVM 환경 설정 ===" - export NVM_DIR="$HOME/.nvm" - [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +# echo "=== NVM 환경 설정 ===" +# export NVM_DIR="$HOME/.nvm" +# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" - echo "=== bashrc 로드 ===" - source ~/.bashrc +# echo "=== bashrc 로드 ===" +# source ~/.bashrc - echo "=== Node 환경 확인 ===" - echo "Node 버전: $(node -v || echo 'node not found')" - echo "NPM 버전: $(npm -v || echo 'npm not found')" - echo "PNPM 위치: $(which pnpm || echo 'pnpm not found')" - echo "PM2 위치: $(which pm2 || echo 'pm2 not found')" +# echo "=== Node 환경 확인 ===" +# echo "Node 버전: $(node -v || echo 'node not found')" +# echo "NPM 버전: $(npm -v || echo 'npm not found')" +# echo "PNPM 위치: $(which pnpm || echo 'pnpm not found')" +# echo "PM2 위치: $(which pm2 || echo 'pm2 not found')" - cd /home/ubuntu/dev/front-end - echo "=== Git 상태 확인 ===" - echo "현재 디렉토리: $PWD" - echo "현재 remote URLs:" - git remote -v - echo "현재 브랜치:" - git branch +# cd /home/ubuntu/dev/front-end +# echo "=== Git 상태 확인 ===" +# echo "현재 디렉토리: $PWD" +# echo "현재 remote URLs:" +# git remote -v +# echo "현재 브랜치:" +# git branch - echo "=== Git 작업 시작 ===" - git reset --hard - git checkout main - git fetch --all - git reset --hard origin/main - echo "현재 커밋:" - git rev-parse HEAD - echo "변경된 파일:" - git status +# echo "=== Git 작업 시작 ===" +# git reset --hard +# git checkout main +# git fetch --all +# git reset --hard origin/main +# echo "현재 커밋:" +# git rev-parse HEAD +# echo "변경된 파일:" +# git status - echo "=== PNPM 캐시 정리 시작 ===" - pnpm store prune +# echo "=== PNPM 캐시 정리 시작 ===" +# pnpm store prune - echo "=== 의존성 설치 시작 ===" - pnpm install +# echo "=== 의존성 설치 시작 ===" +# pnpm install - echo "=== 빌드 시작 ===" - pnpm build +# echo "=== 빌드 시작 ===" +# pnpm build - echo "=== PM2 상태 확인 ===" - pm2 list || echo "PM2 실행 실패" +# echo "=== PM2 상태 확인 ===" +# pm2 list || echo "PM2 실행 실패" - echo "=== 서비스 재시작 ===" - pm2 reload techBlogHub-main-frontend --update-env +# echo "=== 서비스 재시작 ===" +# pm2 reload techBlogHub-main-frontend --update-env From 92824159c034ebd11d2a18205845c99a553dd645 Mon Sep 17 00:00:00 2001 From: iamjooon2 Date: Tue, 11 Feb 2025 18:00:24 +0900 Subject: [PATCH 2/4] =?UTF-8?q?cd:=20Dockerfile=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..78408c0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +# 1. Node.js 환경 설정 +FROM node:20 AS builder + +# 2. 작업 디렉토리 설정 +WORKDIR /app + +# 3. corepack 및 pnpm 설치 +RUN npm install -g corepack && corepack enable && corepack prepare pnpm@latest --activate + +# 4. 필수 파일 복사 +COPY package.json pnpm-lock.yaml ./ + +# 5. 의존성 설치 (pnpm 사용) +RUN pnpm install --frozen-lockfile + +# 6. 소스 코드 복사 및 빌드 +COPY . . +RUN pnpm build + +# 7. PM2 설치 및 상태 확인 +RUN npm install pm2 -g && pm2 --version + +# 8. PM2 프로세스 시작 +RUN pm2 start npm --name "techBlogHub-main-frontend" -- run start + +# 9. 4000 포트 열기 +EXPOSE 4000 + +# 10. PM2 실행 +CMD ["pm2-runtime", "start", "npm", "--name", "techBlogHub-main-frontend", "--", "start", "--", "--port", "4000"] From 21d1cd9f058dbc4fd51bcbe6f92ab07219aff662 Mon Sep 17 00:00:00 2001 From: iamjooon2 Date: Tue, 11 Feb 2025 18:00:38 +0900 Subject: [PATCH 3/4] =?UTF-8?q?cd:=20docker=20=EC=9D=B4=EC=9A=A9=ED=95=9C?= =?UTF-8?q?=20=EB=B0=B0=ED=8F=AC=20=ED=94=8C=EB=A1=9C=EC=9A=B0=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy-docker.yml | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/deploy-docker.yml diff --git a/.github/workflows/deploy-docker.yml b/.github/workflows/deploy-docker.yml new file mode 100644 index 0000000..255a4d3 --- /dev/null +++ b/.github/workflows/deploy-docker.yml @@ -0,0 +1,44 @@ +name: Deploy Frontend + +on: + push: + branches: + - main + +jobs: + build-and-push: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + + - name: Docker Build and Push + uses: docker/build-push-action@v6 + with: + context: . + push: true + file: ./Dockerfile + platforms: linux/amd64 + tags: | + ${{ secrets.DOCKER_HUB_USERNAME }}/frontend:${{ github.run_number }} + ${{ secrets.DOCKER_HUB_USERNAME }}/frontend:latest + + deploy: + needs: build-and-push + runs-on: ubuntu-latest + steps: + - name: Deploy to Server + uses: appleboy/ssh-action@v0.1.10 + with: + host: ${{ secrets.SERVER_IP }} + username: ubuntu + key: ${{ secrets.SSH_PRIVATE_KEY }} + script: | + cd /home/ubuntu && ./deploy-frontend.sh From 73b92bc76f462d32f0b68695b2e78855ec5a1e4c Mon Sep 17 00:00:00 2001 From: iamjooon2 Date: Tue, 11 Feb 2025 18:04:55 +0900 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=EA=B8=B0=EC=A1=B4=20=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC=ED=94=8C=EB=A1=9C=EC=9A=B0=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy-main.yml | 71 ------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 .github/workflows/deploy-main.yml diff --git a/.github/workflows/deploy-main.yml b/.github/workflows/deploy-main.yml deleted file mode 100644 index e67a58e..0000000 --- a/.github/workflows/deploy-main.yml +++ /dev/null @@ -1,71 +0,0 @@ -# name: Deploy Main - -# on: -# pull_request: -# branches: [main] -# types: [closed] - -# jobs: -# deploy: -# runs-on: ubuntu-latest - -# steps: -# - name: Deploy to Production Server -# uses: appleboy/ssh-action@master -# with: -# host: ${{ secrets.SERVER_IP }} -# username: ${{ secrets.SERVER_USER }} -# key: ${{ secrets.SSH_PRIVATE_KEY }} -# script: | -# echo "배포 테스트001" -# echo "=== 초기 환경 확인 ===" -# echo "Shell: $SHELL" -# echo "PATH: $PATH" -# echo "PWD: $PWD" -# echo "User: $(whoami)" - -# echo "=== NVM 환경 설정 ===" -# export NVM_DIR="$HOME/.nvm" -# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" - -# echo "=== bashrc 로드 ===" -# source ~/.bashrc - -# echo "=== Node 환경 확인 ===" -# echo "Node 버전: $(node -v || echo 'node not found')" -# echo "NPM 버전: $(npm -v || echo 'npm not found')" -# echo "PNPM 위치: $(which pnpm || echo 'pnpm not found')" -# echo "PM2 위치: $(which pm2 || echo 'pm2 not found')" - -# cd /home/ubuntu/dev/front-end -# echo "=== Git 상태 확인 ===" -# echo "현재 디렉토리: $PWD" -# echo "현재 remote URLs:" -# git remote -v -# echo "현재 브랜치:" -# git branch - -# echo "=== Git 작업 시작 ===" -# git reset --hard -# git checkout main -# git fetch --all -# git reset --hard origin/main -# echo "현재 커밋:" -# git rev-parse HEAD -# echo "변경된 파일:" -# git status - -# echo "=== PNPM 캐시 정리 시작 ===" -# pnpm store prune - -# echo "=== 의존성 설치 시작 ===" -# pnpm install - -# echo "=== 빌드 시작 ===" -# pnpm build - -# echo "=== PM2 상태 확인 ===" -# pm2 list || echo "PM2 실행 실패" - -# echo "=== 서비스 재시작 ===" -# pm2 reload techBlogHub-main-frontend --update-env