333
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 51s

This commit is contained in:
编码猿
2025-10-05 04:25:10 +08:00
parent 418800d124
commit 4f495e605a

View File

@@ -31,26 +31,37 @@ jobs:
# 步骤 2: 在管理机拉取最新代码并部署
- name: 拉取代码并执行部署
run: |
ssh ${{ secrets.USERNAME }}@${{ secrets.HOST }} << 'EOF'
# 定义项目目录(管理机上的代码存放路径,需提前创建)
PROJECT_DIR="/home/bmy/gitea_actions"
# 1. 在 Runner 上安装 sshpass
sudo apt-get update && sudo apt-get install -y sshpass
# 2. 使用 sshpass 执行远程命令
# -o StrictHostKeyChecking=no: 自动接受未知的主机密钥,避免 "Host key verification failed" 错误
# sshpass -p '密码' ssh ...: 通过 sshpass 提供密码
# -T: 禁用伪终端分配,避免相关警告
sshpass -p '${{ secrets.PASSWORD }}' ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${{ secrets.USERNAME }}@${{ secrets.HOST }} << 'EOF'
# --- 以下为在管理机上执行的脚本 ---
# 定义项目目录(管理机上的代码存放路径)
PROJECT_DIR="/home/bmygitea_actions"
# 进入项目目录,若不存在则克隆仓库
if [ ! -d "$PROJECT_DIR" ]; then
echo "项目目录不存在,克隆仓库..."
# 假设管理机已配置好 Gitea 的访问权限 (如部署密钥)
git clone ${{ gitea.repository }} $PROJECT_DIR
cd $PROJECT_DIR
else
echo "拉取最新代码..."
cd $PROJECT_DIR
# 确保工作区干净(可选,根据需求调整)
git checkout main
git pull origin main
fi
# 执行部署脚本(包含 Docker 构建和 Swarm 部署)
# 执行部署脚本
pwd
ls -al
ls
# --- 远程脚本结束 ---
EOF
# 步骤1输出事件信息
- run: echo "🎉 该作业由 ${{ gitea.event_name }} 事件自动触发。"