Update reactjs-cicd.yml

created like a template
This commit is contained in:
2025-12-14 13:58:23 +00:00
parent fb524de6f1
commit e79cb6eacd

View File

@@ -1,4 +1,4 @@
name: Regroup-Chat-Backend name: PROJECT_NAME
on: on:
push: push:
@@ -6,67 +6,74 @@ on:
- main - main
- beta - beta
- testing - testing
- client
- staging - staging
- production - production
jobs: jobs:
Build-Regroup-Chat-Backend: Build-PROJECT_NAME:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Code in Runner - name: Checkout Code in Runner
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Branch and Folder Selection for Deployment - name: Branch and Folder Selection for Deployment
run: | run: |
BRANCH_NAME=${{ gitea.ref_name }} BRANCH_NAME=${{ gitea.ref_name }}
case $BRANCH_NAME in case $BRANCH_NAME in
beta) beta)
echo "PROJECT_FOLDER=/home/laraveluser/regroup/regroup-chat-backend" >> $GITHUB_ENV echo "PROJECT_FOLDER=/PATH/TO/BETA/PROJECT" >> $GITHUB_ENV
PROJECT_FOLDER="/home/laraveluser/regroup/regroup-chat-backend" PROJECT_FOLDER="/PATH/TO/BETA/PROJECT"
echo "AUTH_TYPE=passwd" >> $GITHUB_ENV echo "AUTH_TYPE=passwd" >> $GITHUB_ENV
echo "PM2_ID=0" >> $GITHUB_ENV echo "PM2_ID=BETA_PM2_ID" >> $GITHUB_ENV
echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV
echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV
echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV
echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV
;; ;;
testing) testing)
echo "PROJECT_FOLDER=/home/laraveluser/regroup/regroup-chat-backend-testing" >> $GITHUB_ENV echo "PROJECT_FOLDER=/PATH/TO/TESTING/PROJECT" >> $GITHUB_ENV
PROJECT_FOLDER="/home/laraveluser/regroup/regroup-chat-backend-testing" PROJECT_FOLDER="/PATH/TO/TESTING/PROJECT"
echo "AUTH_TYPE=passwd" >> $GITHUB_ENV echo "AUTH_TYPE=passwd" >> $GITHUB_ENV
echo "PM2_ID=1" >> $GITHUB_ENV echo "PM2_ID=TESTING_PM2_ID" >> $GITHUB_ENV
echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV
echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV
echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV
echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV
;; ;;
client) client)
echo "PROJECT_FOLDER=null" >> $GITHUB_ENV echo "PROJECT_FOLDER=/PATH/TO/CLIENT/PROJECT" >> $GITHUB_ENV
PROJECT_FOLDER="null" PROJECT_FOLDER="/PATH/TO/CLIENT/PROJECT"
echo "AUTH_TYPE=passwd" >> $GITHUB_ENV echo "AUTH_TYPE=passwd" >> $GITHUB_ENV
echo "PM2_ID=null" >> $GITHUB_ENV echo "PM2_ID=CLIENT_PM2_ID" >> $GITHUB_ENV
echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV echo "HOST=${{ secrets.BETA_SERVER_HOST }}" >> $GITHUB_ENV
echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV echo "USERNAME=${{ secrets.BETA_SERVER_USERNAME }}" >> $GITHUB_ENV
echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV echo "PASSWORD=${{ secrets.BETA_SERVER_PASSWORD }}" >> $GITHUB_ENV
echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV echo "PORT=${{ secrets.BETA_SERVER_PORT }}" >> $GITHUB_ENV
;; ;;
staging) staging)
echo "PROJECT_FOLDER=/home/regroup/regroup_chat/regroup-chat-backend" >> $GITHUB_ENV echo "PROJECT_FOLDER=/PATH/TO/STAGING/PROJECT" >> $GITHUB_ENV
PROJECT_FOLDER="/home/regroup/regroup_chat/regroup-chat-backend" PROJECT_FOLDER="/PATH/TO/STAGING/PROJECT"
echo "AUTH_TYPE=key" >> $GITHUB_ENV echo "AUTH_TYPE=key" >> $GITHUB_ENV
echo "PM2_ID=3" >> $GITHUB_ENV echo "PM2_ID=STAGING_PM2_ID" >> $GITHUB_ENV
echo "HOST=${{ secrets.STAGING_SERVER_HOST }}" >> $GITHUB_ENV echo "HOST=${{ secrets.STAGING_SERVER_HOST }}" >> $GITHUB_ENV
echo "USERNAME=${{ secrets.STAGING_SERVER_USERNAME }}" >> $GITHUB_ENV echo "USERNAME=${{ secrets.STAGING_SERVER_USERNAME }}" >> $GITHUB_ENV
echo "PORT=${{ secrets.STAGING_SERVER_PORT }}" >> $GITHUB_ENV echo "PORT=${{ secrets.STAGING_SERVER_PORT }}" >> $GITHUB_ENV
;; ;;
production) production)
echo "PROJECT_FOLDER=null" >> $GITHUB_ENV echo "PROJECT_FOLDER=/PATH/TO/PRODUCTION/PROJECT" >> $GITHUB_ENV
PROJECT_FOLDER="null" PROJECT_FOLDER="/PATH/TO/PRODUCTION/PROJECT"
echo "AUTH_TYPE=key" >> $GITHUB_ENV echo "AUTH_TYPE=key" >> $GITHUB_ENV
echo "PM2_ID=1" >> $GITHUB_ENV echo "PM2_ID=PRODUCTION_PM2_ID" >> $GITHUB_ENV
echo "HOST=${{ secrets.PRODUCTION_SERVER_HOST }}" >> $GITHUB_ENV echo "HOST=${{ secrets.PRODUCTION_SERVER_HOST }}" >> $GITHUB_ENV
echo "USERNAME=${{ secrets.PRODUCTION_SERVER_USERNAME }}" >> $GITHUB_ENV echo "USERNAME=${{ secrets.PRODUCTION_SERVER_USERNAME }}" >> $GITHUB_ENV
echo "PORT=${{ secrets.PRODUCTION_SERVER_PORT }}" >> $GITHUB_ENV echo "PORT=${{ secrets.PRODUCTION_SERVER_PORT }}" >> $GITHUB_ENV
;; ;;
*) *)
echo "Unknown Branch" echo "Unknown Branch"
exit 1 exit 1
@@ -76,7 +83,6 @@ jobs:
echo "SELECTED BRANCH : $BRANCH_NAME" echo "SELECTED BRANCH : $BRANCH_NAME"
echo "SELECTED FOLDER : $PROJECT_FOLDER" echo "SELECTED FOLDER : $PROJECT_FOLDER"
- name: Deployment to Server SSH - name: Deployment to Server SSH
if: env.AUTH_TYPE == 'passwd' if: env.AUTH_TYPE == 'passwd'
uses: appleboy/ssh-action@v1 uses: appleboy/ssh-action@v1
@@ -94,7 +100,6 @@ jobs:
git fetch git fetch
git reset --hard origin/$BRANCH_NAME git reset --hard origin/$BRANCH_NAME
git pull origin $BRANCH_NAME git pull origin $BRANCH_NAME
echo "BUILDING..... "
npm i npm i
pm2 restart $PM2_ID pm2 restart $PM2_ID
@@ -115,8 +120,5 @@ jobs:
git fetch git fetch
git reset --hard origin/$BRANCH_NAME git reset --hard origin/$BRANCH_NAME
git pull origin $BRANCH_NAME git pull origin $BRANCH_NAME
echo "BUILDING..... "
npm i npm i
pm2 restart $PM2_ID pm2 restart $PM2_ID