test_laravel/.gitea/workflows/deploy-dev.yml

44 lines
1.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Deploy to Test
on:
push:
branches: [dev] # 根据实际分支调整
jobs:
deploy:
runs-on: php7.3 # 必须同时包含两个标签
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare SSH environment
env:
SSH_PRIVATE_KEY: ${{ secrets.TEST_SSH_KEY }} # 从 Gitea Secrets 读取私钥[2](@ref)
run: |
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# 将服务器指纹加入已知主机(规避首次连接确认)
ssh-keyscan 43.142.97.39 >> ~/.ssh/known_hosts
- name: Sync code to server
run: |
rsync -avz --delete --exclude=".env" \
./ deploy-user@43.142.97.39:/data/laravel_test/
- name: Deploy Docker containers
run: |
ssh -o StrictHostKeyChecking=no deploy-user@43.142.97.39 << 'EOF'
cd /data/laravel_test
# 启动/重建 Docker 容器(需预置 docker-compose.yml
docker compose -p laravel_test down --volumes
docker compose -p laravel_test up -d --build
# 在 PHP 容器内执行 Laravel 命令
docker exec laravel_test-php-1 php artisan config:cache
docker exec laravel_test-php-1 php artisan migrate --force
# 重载 Nginx 容器配置
docker exec laravel_test-nginx-1 nginx -s reload
EOF