From 890312fb068978969010b282af9eea5512e50216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=ED=95=98=EB=8B=B4?= Date: Tue, 2 Jan 2024 10:14:42 +0900 Subject: [PATCH] Reflect the changes so far in deployment-production-2.yml --- .github/workflows/deploy-production-2.yml | 44 ++++++++++++++--------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/.github/workflows/deploy-production-2.yml b/.github/workflows/deploy-production-2.yml index e442ca15..a59a5854 100644 --- a/.github/workflows/deploy-production-2.yml +++ b/.github/workflows/deploy-production-2.yml @@ -1,6 +1,3 @@ -# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - name: Deploy production-2 server to ec2 on: @@ -10,28 +7,41 @@ on: - production-2 jobs: - build: - runs-on: self-hosted + deploy: + runs-on: ubuntu-latest + strategy: matrix: node-version: [16.x] - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - defaults: - run: - working-directory: ${{ env.SERVER_PROFILE }} + steps: - - uses: actions/checkout@v2 - with: - path: ${{ env.SERVER_PROFILE }} + - name: Checkout Repository + uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - - run: cp ~/config-injection/ecosystem-${{ env.SERVER_PROFILE }}.json ${{ env.PROJECT_PATH }}/ecosystem.json - - run: cp ~/config-injection/envs/.env.${{ env.NODE_ENV }} ${{ env.PROJECT_PATH }}/.env - - run: bash ${{ env.PROJECT_PATH }}/script/prebuild.sh - - run: sh ${{ env.PROJECT_PATH }}/script/reload.sh + + - name: Deploy to EC2 using SSH + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SSH_USERNAME }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: 22 + script: | + cp ~/config-injection/ecosystem-${{ env.SERVER_PROFILE }}.json ${{ env.PROJECT_PATH }}/ecosystem.json && + cp ~/config-injection/envs/.env.${{ env.NODE_ENV }} ${{ env.PROJECT_PATH }}/.env && + cd ${{ env.PROJECT_PATH }} && + git fetch --all && + git checkout ${{ env.BRANCH_NAME }} && + git pull origin ${{ env.BRANCH_NAME }} && + bash script/prebuild.sh && + bash script/reload.sh + env: + BRANCH_NAME: production-2 NODE_ENV: production SERVER_PROFILE: production-2 PROJECT_PATH: ~/actions-runner/_work/A.fume.Server/A.fume.Server/production-2