Update main.yml #48
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SSH Server Deployment | |
on: | |
push: | |
branches: | |
- server | |
jobs: | |
ssh-folder-management: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up SSH client | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y sshpass | |
- name: Connect to SSH and perform operations | |
env: | |
SERVER_IP: ${{ secrets.SERVER_IP }} | |
SERVER_USER: ${{ secrets.SERVER_USER }} | |
SERVER_PASSWORD: ${{ secrets.SERVER_PASSWORD }} | |
run: | | |
sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no "$SERVER_USER@$SERVER_IP" << 'EOF' | |
# Navigate to the target directory | |
cd /home/infovit-api/htdocs | |
# Find and delete all files and directories within api.infovit.us except for ecosystem.config.js | |
find api.infovit.us -mindepth 1 ! -name 'ecosystem.config.cjs' -exec rm -rf {} + | |
# If you need to ensure the directory is empty, but leave ecosystem.config.js | |
cd /home/infovit-api/htdocs/api.infovit.us | |
# Clone the specific branch of the GitHub repository into the Pharma directory | |
git clone -b server https://github.com/danial117/Pharma.git /home/infovit-api/htdocs/api.infovit.us | |
# Change to the directory and install dependencies | |
cd /home/infovit-api/htdocs/api.infovit.us | |
npm install | |
# Start the application with pm2 | |
pm2 start ecosystem.config.cjs --env production | |
# Create the 'public' directory with 'brands', 'products', and 'news' subdirectories | |
mkdir -p /home/infovit-api/htdocs/api.infovit.us/public/brands | |
mkdir -p /home/infovit-api/htdocs/api.infovit.us/public/products | |
mkdir -p /home/infovit-api/htdocs/api.infovit.us/public/products/large | |
mkdir -p /home/infovit-api/htdocs/api.infovit.us/public/products/medium | |
mkdir -p /home/infovit-api/htdocs/api.infovit.us/public/products/small | |
mkdir -p /home/infovit-api/htdocs/api.infovit.us/public/news | |
EOF |