feat: automate .env deployment via GitHub Secrets and local file sync
This commit is contained in:
@@ -15,16 +15,21 @@ jobs:
|
||||
|
||||
- name: Deploy via SSH
|
||||
uses: appleboy/ssh-action@v1.0.3
|
||||
env:
|
||||
ENV_FILE: ${{ secrets.ENV_FILE }}
|
||||
with:
|
||||
host: ${{ secrets.VPS_HOST }}
|
||||
username: ${{ secrets.VPS_USERNAME }}
|
||||
key: ${{ secrets.VPS_SSH_KEY }}
|
||||
envs: ENV_FILE
|
||||
script: |
|
||||
# Modify this path to where your project is stored on the VPS
|
||||
cd /opt/imphenbot || exit
|
||||
|
||||
# Pull latest changes
|
||||
git pull origin main
|
||||
|
||||
# Write environment variables from GitHub Secrets
|
||||
echo "$ENV_FILE" > .env
|
||||
|
||||
# Build and restart containers
|
||||
docker-compose up -d --build
|
||||
|
||||
@@ -25,6 +25,17 @@ echo "📦 Syncing files to VPS..."
|
||||
$SSH_CMD "mkdir -p $REMOTE_DIR"
|
||||
eval "$RSYNC_CMD ./ $VPS_USER@$VPS_HOST:$REMOTE_DIR"
|
||||
|
||||
if [ -f .env ]; then
|
||||
echo "🔒 Copying local .env to VPS..."
|
||||
if [ -z "$SSH_KEY_PATH" ]; then
|
||||
scp -o StrictHostKeyChecking=no .env $VPS_USER@$VPS_HOST:$REMOTE_DIR/.env
|
||||
else
|
||||
scp -i $SSH_KEY_PATH -o StrictHostKeyChecking=no .env $VPS_USER@$VPS_HOST:$REMOTE_DIR/.env
|
||||
fi
|
||||
else
|
||||
echo "⚠️ No local .env found to copy."
|
||||
fi
|
||||
|
||||
echo "🔄 Rebuilding and restarting Docker containers..."
|
||||
$SSH_CMD << EOF
|
||||
cd $REMOTE_DIR
|
||||
|
||||
Reference in New Issue
Block a user