From fb524de6f142ad8a8816db953a55382540a8e354 Mon Sep 17 00:00:00 2001 From: Rajendra Reddy Date: Sun, 14 Dec 2025 13:44:58 +0000 Subject: [PATCH] Update reactjs-cicd.yml branchwise cicd : beta, testing, client, staging and production ssh using key and password --- reactjs-cicd.yml | 88 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 74 insertions(+), 14 deletions(-) diff --git a/reactjs-cicd.yml b/reactjs-cicd.yml index d1135ce..cfb8545 100644 --- a/reactjs-cicd.yml +++ b/reactjs-cicd.yml @@ -1,4 +1,4 @@ -name: CityCards-AdminPanel +name: Regroup-Chat-Backend on: push: @@ -10,7 +10,7 @@ on: - production jobs: - Build-CityCards-AdminPanel: + Build-Regroup-Chat-Backend: runs-on: ubuntu-latest steps: - name: Checkout Code in Runner @@ -20,17 +20,53 @@ jobs: BRANCH_NAME=${{ gitea.ref_name }} case $BRANCH_NAME in beta) - echo "PROJECT_FOLDER=/home/citycards/citycards-superadmin" >> $GITHUB_ENV - PROJECT_FOLDER="/home/citycards/citycards-superadmin" + echo "PROJECT_FOLDER=/home/laraveluser/regroup/regroup-chat-backend" >> $GITHUB_ENV + PROJECT_FOLDER="/home/laraveluser/regroup/regroup-chat-backend" + echo "AUTH_TYPE=passwd" >> $GITHUB_ENV + echo "PM2_ID=0" >> $GITHUB_ENV + echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV + echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV + echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV + echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV ;; testing) - echo "PROJECT_FOLDER=/home/citycards/Test-Release/citycards-frontend/CityCards-AdminPanel" >> $GITHUB_ENV - PROJECT_FOLDER="/home/citycards/Test-Release/citycards-frontend/CityCards-AdminPanel" + echo "PROJECT_FOLDER=/home/laraveluser/regroup/regroup-chat-backend-testing" >> $GITHUB_ENV + PROJECT_FOLDER="/home/laraveluser/regroup/regroup-chat-backend-testing" + echo "AUTH_TYPE=passwd" >> $GITHUB_ENV + echo "PM2_ID=1" >> $GITHUB_ENV + echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV + echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV + echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV + echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV ;; client) - echo "PROJECT_FOLDER=/home/citycards/Client-Release/citycards-frontend/CityCards-AdminPanel" >> $GITHUB_ENV - PROJECT_FOLDER="/home/citycards/Client-Release/citycards-frontend/CityCards-AdminPanel" + echo "PROJECT_FOLDER=null" >> $GITHUB_ENV + PROJECT_FOLDER="null" + echo "AUTH_TYPE=passwd" >> $GITHUB_ENV + echo "PM2_ID=null" >> $GITHUB_ENV + echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV + echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV + echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV + echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV ;; + staging) + echo "PROJECT_FOLDER=/home/regroup/regroup_chat/regroup-chat-backend" >> $GITHUB_ENV + PROJECT_FOLDER="/home/regroup/regroup_chat/regroup-chat-backend" + echo "AUTH_TYPE=key" >> $GITHUB_ENV + echo "PM2_ID=3" >> $GITHUB_ENV + echo "HOST=${{ secrets.STAGING_SERVER_HOST }}" >> $GITHUB_ENV + echo "USERNAME=${{ secrets.STAGING_SERVER_USERNAME }}" >> $GITHUB_ENV + echo "PORT=${{ secrets.STAGING_SERVER_PORT }}" >> $GITHUB_ENV + ;; + production) + echo "PROJECT_FOLDER=null" >> $GITHUB_ENV + PROJECT_FOLDER="null" + echo "AUTH_TYPE=key" >> $GITHUB_ENV + echo "PM2_ID=1" >> $GITHUB_ENV + echo "HOST=${{ secrets.PRODUCTION_SERVER_HOST }}" >> $GITHUB_ENV + echo "USERNAME=${{ secrets.PRODUCTION_SERVER_USERNAME }}" >> $GITHUB_ENV + echo "PORT=${{ secrets.PRODUCTION_SERVER_PORT }}" >> $GITHUB_ENV + ;; *) echo "Unknown Branch" exit 1 @@ -40,14 +76,16 @@ jobs: echo "SELECTED BRANCH : $BRANCH_NAME" echo "SELECTED FOLDER : $PROJECT_FOLDER" + - name: Deployment to Server SSH + if: env.AUTH_TYPE == 'passwd' uses: appleboy/ssh-action@v1 with: - host: ${{ secrets.BETA_SERVER_HOST }} - username: ${{ secrets.BETA_SERVER_USERNAME }} - password: ${{ secrets.BETA_SERVER_PASSWORD }} - port: ${{ secrets.BETA_SERVER_PORT }} - envs: BRANCH_NAME,PROJECT_FOLDER + host: ${{ env.HOST }} + username: ${{ env.USERNAME }} + password: ${{ env.PASSWORD }} + port: ${{ env.PORT }} + envs: BRANCH_NAME,PROJECT_FOLDER,PM2_ID script: | set -xe echo $BRANCH_NAME @@ -58,5 +96,27 @@ jobs: git pull origin $BRANCH_NAME echo "BUILDING..... " npm i - npm run build + pm2 restart $PM2_ID + + - name: Deployment to Server SSH + if: env.AUTH_TYPE == 'key' + uses: appleboy/ssh-action@v1 + with: + host: ${{ env.HOST }} + username: ${{ env.USERNAME }} + key: ${{ gitea.ref_name == 'production' && secrets.PRODUCTION_SERVER_KEY || secrets.STAGING_SERVER_KEY }} + port: ${{ env.PORT }} + envs: BRANCH_NAME,PROJECT_FOLDER,PM2_ID + script: | + set -xe + echo $BRANCH_NAME + echo $PROJECT_FOLDER + cd $PROJECT_FOLDER + git fetch + git reset --hard origin/$BRANCH_NAME + git pull origin $BRANCH_NAME + echo "BUILDING..... " + npm i + pm2 restart $PM2_ID +