59 lines
1.7 KiB
YAML
59 lines
1.7 KiB
YAML
name: Deploy to Server
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
# Runner 标签是 vitals-runner
|
|
runs-on: vitals-runner
|
|
|
|
steps:
|
|
- name: 检查环境
|
|
run: |
|
|
echo "当前用户: $(whoami)"
|
|
echo "当前目录: $(pwd)"
|
|
echo "PATH: $PATH"
|
|
echo ""
|
|
echo "检查 Docker socket:"
|
|
ls -la /var/run/docker.sock 2>&1 || echo " /var/run/docker.sock 不存在"
|
|
echo ""
|
|
echo "检查是否在容器中:"
|
|
cat /proc/1/cgroup 2>/dev/null | head -1 || echo " 无法确定"
|
|
echo ""
|
|
echo "尝试查找 docker 命令:"
|
|
which docker || echo " which 找不到"
|
|
command -v docker || echo " command -v 找不到"
|
|
echo ""
|
|
echo "检查常见路径:"
|
|
[ -f /usr/bin/docker ] && echo " ✓ /usr/bin/docker 存在" || echo " ✗ /usr/bin/docker 不存在"
|
|
[ -f /usr/local/bin/docker ] && echo " ✓ /usr/local/bin/docker 存在" || echo " ✗ /usr/local/bin/docker 不存在"
|
|
echo ""
|
|
echo "Git 版本: $(git --version)"
|
|
|
|
- name: 切换到部署目录
|
|
run: |
|
|
cd /opt/apps/vitals
|
|
echo "当前目录: $(pwd)"
|
|
ls -la
|
|
|
|
- name: 更新代码
|
|
run: |
|
|
cd /opt/apps/vitals
|
|
git fetch origin
|
|
git checkout main
|
|
git pull origin main
|
|
echo "✓ 代码更新完成"
|
|
|
|
- name: 构建并部署
|
|
run: |
|
|
cd /opt/apps/vitals
|
|
/usr/bin/docker compose --env-file .env.production \
|
|
-f docker-compose.yml \
|
|
-f docker-compose.prod.yml \
|
|
up -d --build
|
|
echo "✓ 部署完成"
|
|
|