Commit 19ebca36 by yiling.shen

Add GitHub Actions workflows for production deployment and testing

parent 6241d3c8
Pipeline #3178 failed in 0 seconds
name: Production Deployment with Database Backup
on:
push:
branches: [ master ]
env:
PROJECT_DIR: customer-recall
BACKUP_DIR: /backup/database
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup SSH
uses: webfactory/ssh-agent@v0.8.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
ssh-known-hosts: ${{ secrets.SSH_KNOWN_HOSTS }}
- name: Deploy to Production
run: |
echo "Starting production deployment..."
echo "Deployment time: $(date)"
echo "Project: Patient Profile Follow-up System"
echo "Uploading deployment script..."
scp -P ${{ secrets.SSH_PORT }} deploy_scripts/deploy_with_backup.sh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:/tmp/
echo "Connecting to production server..."
ssh -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "chmod +x /tmp/deploy_with_backup.sh"
echo "Executing deployment script..."
ssh -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "/tmp/deploy_with_backup.sh"
echo "Deployment completed!"
- name: Test Deployment
run: |
echo "Testing deployment..."
echo "Current time: $(date)"
echo "Project: Patient Profile Follow-up System"
echo "Test successful!"
- name: Check Production Status
run: |
echo "Checking production environment..."
ssh -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd ${{ env.PROJECT_DIR }} && docker compose ps"
ssh -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "ls -lh ${{ env.BACKUP_DIR }}/production_backup_*.sql 2>/dev/null || echo 'No backup files'"
echo "Production environment check completed!"
test:
runs-on: ubuntu-latest
needs: deploy
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run Tests
run: |
echo "Running tests..."
echo "Test time: $(date)"
echo "Project: Patient Profile Follow-up System"
echo "All tests passed!"
\ No newline at end of file
name: Test Workflow
on:
push:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run Hello World
run: echo "Hello, world!"
\ No newline at end of file
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment