编辑文件 my-first-workflow.yaml
This commit is contained in:
@@ -118,13 +118,65 @@ steps:
|
|||||||
scp-exe-to-servers: # 与fetch-deploy-config同级,缩进2个空格
|
scp-exe-to-servers: # 与fetch-deploy-config同级,缩进2个空格
|
||||||
image: appleboy/drone-scp:1.6.2 # 子元素,缩进4个空格
|
image: appleboy/drone-scp:1.6.2 # 子元素,缩进4个空格
|
||||||
settings: # 子元素,缩进4个空格
|
settings: # 子元素,缩进4个空格
|
||||||
host: ${REMOTE_HOSTS} # settings内的项,缩进6个空格
|
host: 103.236.78.60 # settings内的项,缩进6个空格
|
||||||
username: ${REMOTE_USERS} # 统一缩进6个空格
|
port: 29713
|
||||||
password: ${REMOTE_PASSWORDS} # 统一缩进6个空格
|
username: root # 统一缩进6个空格
|
||||||
source: ./build/${BIN_NAME} # 统一缩进6个空格
|
password: dgaoXMPC8325 # 统一缩进6个空格
|
||||||
target: ${REMOTE_EXE_DIR}/ # 统一缩进6个空格
|
source:
|
||||||
|
- ./build/login_*
|
||||||
|
- ./build/logic_*
|
||||||
|
target: /opt/login/
|
||||||
strip_components: 1 # 统一缩进6个空格
|
strip_components: 1 # 统一缩进6个空格
|
||||||
skip_verify: true # 统一缩进6个空格
|
skip_verify: true # 统一缩进6个空格
|
||||||
timeout: 30s # 统一缩进6个空格
|
timeout: 30s # 统一缩进6个空格
|
||||||
depends_on: # 子元素,缩进4个空格
|
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