Skip to content

Fix SSH user reference in deployment workflow to use secrets #5

Fix SSH user reference in deployment workflow to use secrets

Fix SSH user reference in deployment workflow to use secrets #5

Workflow file for this run

name: Deploy to Server
on:
push:
branches: [ main ]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H ${{ vars.SSH_HOST }} >> ~/.ssh/known_hosts
- name: Debug SSH variables
run: |
echo "SSH_HOST: ${{ vars.SSH_HOST }}"
echo "SSH_USER: ${{ secrets.SSH_USER }}"
echo "SSH_PATH: ${{ vars.SSH_PATH }}"
echo "Connection string: ${{ secrets.SSH_USER }}@${{ vars.SSH_HOST }}"
- name: Test SSH connection
run: |
ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ vars.SSH_HOST }} "echo 'SSH connection successful'"
- name: Copy files to server
run: |
rsync -avz --delete \
--exclude '.git' \
--exclude '.github' \
--exclude 'node_modules' \
--exclude '.env.local' \
./ ${{ secrets.SSH_USER }}@${{ vars.SSH_HOST }}:${{ vars.SSH_PATH }}/
- name: Download database on server
run: |
ssh ${{ secrets.SSH_USER }}@${{ vars.SSH_HOST }} "cd ${{ vars.SSH_PATH }} && \
wget -O regnumforum.db '${{ vars.DB_URL }}'"
- name: Deploy application
run: |
ssh ${{ secrets.SSH_USER }}@${{ vars.SSH_HOST }} "cd ${{ vars.SSH_PATH }} && \
docker-compose down && \
docker-compose up -d --build"
- name: Verify deployment
run: |
ssh ${{ secrets.SSH_USER }}@${{ vars.SSH_HOST }} "cd ${{ vars.SSH_PATH }} && docker-compose ps"