编辑文件 my-first-workflow.yaml
This commit is contained in:
@@ -118,13 +118,65 @@ steps:
|
||||
scp-exe-to-servers: # 与fetch-deploy-config同级,缩进2个空格
|
||||
image: appleboy/drone-scp:1.6.2 # 子元素,缩进4个空格
|
||||
settings: # 子元素,缩进4个空格
|
||||
host: ${REMOTE_HOSTS} # settings内的项,缩进6个空格
|
||||
username: ${REMOTE_USERS} # 统一缩进6个空格
|
||||
password: ${REMOTE_PASSWORDS} # 统一缩进6个空格
|
||||
source: ./build/${BIN_NAME} # 统一缩进6个空格
|
||||
target: ${REMOTE_EXE_DIR}/ # 统一缩进6个空格
|
||||
host: 103.236.78.60 # settings内的项,缩进6个空格
|
||||
port: 29713
|
||||
username: root # 统一缩进6个空格
|
||||
password: dgaoXMPC8325 # 统一缩进6个空格
|
||||
source:
|
||||
- ./build/login_*
|
||||
- ./build/logic_*
|
||||
target: /opt/login/
|
||||
strip_components: 1 # 统一缩进6个空格
|
||||
skip_verify: true # 统一缩进6个空格
|
||||
timeout: 30s # 统一缩进6个空格
|
||||
depends_on: # 子元素,缩进4个空格
|
||||
- build_logic # depends_on内的项,缩进6个空格
|
||||
- build_logic # depends_on内的项,缩进6个空格
|
||||
start-login-logic:
|
||||
image: appleboy/drone-ssh:1.6.2
|
||||
settings: # 子元素,缩进4个空格
|
||||
host: 103.236.78.60 # settings内的项,缩进6个空格
|
||||
port: 29713
|
||||
username: root # 统一缩进6个空格
|
||||
password: dgaoXMPC8325 # 统一缩进6个空格
|
||||
script:
|
||||
- |
|
||||
cd /opt/login
|
||||
BIN_NAME=$(ls -t login_v* 2>/dev/null | head -1)
|
||||
echo "BIN_NAME: $BIN_NAME"
|
||||
if [ -z "$BIN_NAME" ]; then
|
||||
echo "❌ 未找到可执行的login文件"
|
||||
exit 1
|
||||
fi
|
||||
echo "📦 启动Login服务 | Binary: $BIN_NAME"
|
||||
# 停止旧的screen会话
|
||||
session_name="login"
|
||||
session=$(screen -ls 2>/dev/null | grep -o "[0-9]*\.${session_name}" || true)
|
||||
if [[ ! -z "$session" ]]; then
|
||||
screen -X -S "$session_name" stuff "^C"
|
||||
expect -c "exec screen -x ${session_name}; wait; exit" 2>/dev/null || true
|
||||
screen -X -S "$session_name" quit 2>/dev/null || true
|
||||
echo "Info: Stopped login app."
|
||||
fi
|
||||
sleep 1
|
||||
# 启动新进程
|
||||
screen -dmS ${session_name} ./${BIN_NAME}
|
||||
echo "✅ Login服务启动成功 | Screen: ${session_name}"
|
||||
# 等待服务启动并进行健康检查
|
||||
sleep 3
|
||||
if screen -list 2>/dev/null | grep -q "${session_name}"; then
|
||||
echo "✅ 服务健康检查通过 | Screen: ${session_name}"
|
||||
else
|
||||
echo "❌ 服务健康检查失败 | Screen: ${session_name} 不存在"
|
||||
exit 1
|
||||
fi
|
||||
# 移动logic产物到public目录
|
||||
LOGIC_BIN=$(ls -t logic_v* 2>/dev/null | head -1)
|
||||
if [ -n "$LOGIC_BIN" ]; then
|
||||
mkdir -p /opt/login/public
|
||||
mv $LOGIC_BIN /opt/login/public/
|
||||
echo "✅ Logic产物已移动到 /opt/login/public/ | 文件: $(basename $LOGIC_BIN)"
|
||||
else
|
||||
echo "⚠️ 未找到Logic产物"
|
||||
fi
|
||||
depends_on:
|
||||
- scp-exe-to-servers
|
||||
|
||||
Reference in New Issue
Block a user