Skip to content

Testing deploy

Testing deploy #15

name: Deploy Zodiac Server
on:
push:
branches:
- dev_hari
- dev-fan
- dev_mario
- dev_fang
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v3
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build React App
run: yarn build
- name: Determine Branch Name
id: get_branch
run: echo "BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
- name: Copy to the server via SFTP
if: ${{ github.repository_owner == 'fangq' && github.event_name != 'pull_request'}}
uses: wlixcc/[email protected]
with:
server: ${{ secrets.NEUROJ_SERVER }}
username: ${{ secrets.NEUROJ_SERVER_USER }}
ssh_private_key: ${{ secrets.NEUROJ_SERVER_SSH_KEY }}
local_path: "./build/*"
remote_path: "/var/www/html/dev/${{ env.BRANCH_NAME }}/"
- name: Copy to the server via SCP (fallback)
if: ${{ !(github.repository_owner == 'fangq' && github.event_name != 'pull_request')}}
run: |
echo "Deploying to /var/www/html/dev/${{ env.BRANCH_NAME }}/"
# Setup SSH Key
mkdir -p ~/.ssh
echo "${{ secrets.NEUROJ_SERVER_SSH_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# Copy files
scp -r ./build/* ${{ secrets.NEUROJ_SERVER_USER }}@${{ secrets.NEUROJ_SERVER }}:/var/www/html/dev/${{ env.BRANCH_NAME }}/
# Clean up
rm -f ~/.ssh/id_rsa
- name: Restart Server (Only in the deployed folder)
run: |
echo "Restarting services in /var/www/html/dev/${{ env.BRANCH_NAME }}/"
# Setup SSH Key
mkdir -p ~/.ssh
echo "${{ secrets.NEUROJ_SERVER_SSH_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# Restart services
ssh ${{ secrets.NEUROJ_SERVER_USER }}@${{ secrets.NEUROJ_SERVER }} << EOF
cd /var/www/html/dev/${{ env.BRANCH_NAME }}/ && pm2 restart all || echo "No PM2 processes found in this directory"
EOF
# Clean up
rm -f ~/.ssh/id_rsa