tuyoo-devflow 0.1.26 → 0.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -132,12 +132,14 @@ bash <workDir>/start_jenkins_agent.sh
132
132
  bash <workDir>/start_jenkins_agent.sh
133
133
  bash <workDir>/start_jenkins_agent.sh restart
134
134
  bash <workDir>/start_jenkins_agent.sh status
135
+ bash <workDir>/start_jenkins_agent.sh status --verbose
135
136
  bash <workDir>/start_jenkins_agent.sh stop
136
137
 
137
138
  # macOS(launchctl 模式)
138
139
  bash <workDir>/start_jenkins_agent.sh
139
140
  bash <workDir>/start_jenkins_agent.sh restart
140
141
  bash <workDir>/start_jenkins_agent.sh status
142
+ bash <workDir>/start_jenkins_agent.sh status --verbose
141
143
  bash <workDir>/start_jenkins_agent.sh stop
142
144
 
143
145
  # macOS(script 模式)
@@ -161,12 +163,14 @@ bash <workDir>/start_jenkins_agent.sh
161
163
  - `launchctl` 模式(默认):
162
164
  - `~/Library/LaunchAgents/<service>.plist`
163
165
  - `start_jenkins_agent.sh` 可统一管理 `start|restart|stop|status`
166
+ - `status` 默认只显示关键状态,`status --verbose` 显示 launchctl 详情
164
167
  - 自动执行 `launchctl bootout/bootstrap/kickstart`,注册到 `gui/<uid>`(Aqua),不要加 `sudo`
165
168
  - 重装/卸载会同时尝试按 service target 与 plist path 执行 `bootout`,规避旧 LaunchAgent 卸不掉导致的 bootstrap 失败
166
169
  - 若自动安装失败,回落写到 `${workDir}/<service>.plist` 并提示手动安装命令
167
170
  - `tmux` 模式:
168
171
  - 脚本内通过 tmux 后台会话启动 Agent
169
172
  - 支持 `bash start_jenkins_agent.sh restart|stop|status`
173
+ - `status` 默认只显示关键状态,`status --verbose` 显示 tmux 会话/窗格详情
170
174
  - 不依赖 `launchctl bootout/bootstrap/kickstart`
171
175
  - `script` 模式:
172
176
  - 仅生成 `${workDir}/start_jenkins_agent.sh`
@@ -21,6 +21,7 @@ SERVICE_TARGET=${shellQuote(`gui/${launchdOptions.guiUid}/${launchdOptions.servi
21
21
  GUI_DOMAIN=${shellQuote(`gui/${launchdOptions.guiUid}`)}
22
22
  PLIST_PATH="$HOME/Library/LaunchAgents/${launchdOptions.serviceName}.plist"
23
23
  ACTION=\${1:-start}
24
+ DETAIL=\${2:-}
24
25
 
25
26
  if [ "\${TDF_LAUNCHD_CHILD:-}" != "1" ]; then
26
27
  ensure_loaded() {
@@ -49,11 +50,27 @@ if [ "\${TDF_LAUNCHD_CHILD:-}" != "1" ]; then
49
50
  exit $?
50
51
  ;;
51
52
  status)
52
- launchctl print "$SERVICE_TARGET"
53
- exit $?
53
+ if ! STATUS_OUTPUT=$(launchctl print "$SERVICE_TARGET" 2>&1); then
54
+ echo "status: not loaded"
55
+ echo "service: $SERVICE_TARGET"
56
+ echo "plist: $PLIST_PATH"
57
+ [ "$DETAIL" = "--verbose" ] && printf '%s\\n' "$STATUS_OUTPUT"
58
+ exit 1
59
+ fi
60
+ if [ "$DETAIL" = "--verbose" ]; then
61
+ printf '%s\\n' "$STATUS_OUTPUT"
62
+ else
63
+ echo "status: loaded"
64
+ if printf '%s\\n' "$STATUS_OUTPUT" | grep -q "state = running"; then
65
+ echo "process: running"
66
+ fi
67
+ echo "service: $SERVICE_TARGET"
68
+ echo "plist: $PLIST_PATH"
69
+ fi
70
+ exit 0
54
71
  ;;
55
72
  *)
56
- echo "usage: $0 [start|restart|stop|status]" >&2
73
+ echo "usage: $0 [start|restart|stop|status [--verbose]]" >&2
57
74
  exit 2
58
75
  ;;
59
76
  esac
@@ -90,6 +107,7 @@ SESSION_NAME=${shellQuote(sessionName)}
90
107
  WORKDIR=${shellQuote(workDir)}
91
108
  AGENT_CMD=${shellQuote(buildTmuxJavaCommand(javaArgs))}
92
109
  ACTION=\${1:-start}
110
+ DETAIL=\${2:-}
93
111
 
94
112
  cd "$WORKDIR"
95
113
 
@@ -104,11 +122,24 @@ case "$ACTION" in
104
122
  exit 0
105
123
  ;;
106
124
  status)
107
- tmux has-session -t "$SESSION_NAME"
108
- exit $?
125
+ if ! tmux has-session -t "$SESSION_NAME" 2>/dev/null; then
126
+ echo "status: stopped"
127
+ echo "session: $SESSION_NAME"
128
+ echo "workdir: $WORKDIR"
129
+ exit 1
130
+ fi
131
+ if [ "$DETAIL" = "--verbose" ]; then
132
+ tmux list-sessions -F "session=#{session_name} windows=#{session_windows} attached=#{session_attached}" | grep "^session=$SESSION_NAME "
133
+ tmux list-panes -t "$SESSION_NAME" -F "pane=#{pane_index} pid=#{pane_pid} command=#{pane_current_command}"
134
+ else
135
+ echo "status: running"
136
+ echo "session: $SESSION_NAME"
137
+ echo "workdir: $WORKDIR"
138
+ fi
139
+ exit 0
109
140
  ;;
110
141
  *)
111
- echo "usage: $0 [start|restart|stop|status]" >&2
142
+ echo "usage: $0 [start|restart|stop|status [--verbose]]" >&2
112
143
  exit 2
113
144
  ;;
114
145
  esac
@@ -1 +1 @@
1
- {"version":3,"file":"macScript.js","sourceRoot":"","sources":["../../../src/core/generator/macScript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpD,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAkB;IAChD,OAAO,QAAQ,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB;IAC9C,OAAO,QAAQ,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,QAAkB,EAClB,cAGC;IAED,MAAM,cAAc,GAAG,cAAc;QACnC,CAAC,CAAC;iBACW,UAAU,CAAC,OAAO,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;aAC5E,UAAU,CAAC,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;yCACd,cAAc,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuClE;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;;EASP,cAAc;;KAEX,UAAU,CAAC,OAAO,CAAC;OACjB,sBAAsB,CAAC,QAAQ,CAAC;CACtC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,QAAkB,EAClB,WAAW,GAAG,qBAAqB;IAEnC,OAAO;;;;;;;;;;eAUM,UAAU,CAAC,WAAW,CAAC;UAC5B,UAAU,CAAC,OAAO,CAAC;YACjB,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BrD,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,OAAe,EACf,QAAkB,EAClB,OAOC;IAED,MAAM,OAAO,GACX,OAAO,EAAE,IAAI,KAAK,QAAQ;QACxB,CAAC,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;QACjE,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"macScript.js","sourceRoot":"","sources":["../../../src/core/generator/macScript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpD,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAkB;IAChD,OAAO,QAAQ,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB;IAC9C,OAAO,QAAQ,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,QAAkB,EAClB,cAGC;IAED,MAAM,cAAc,GAAG,cAAc;QACnC,CAAC,CAAC;iBACW,UAAU,CAAC,OAAO,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;aAC5E,UAAU,CAAC,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;yCACd,cAAc,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDlE;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;;EASP,cAAc;;KAEX,UAAU,CAAC,OAAO,CAAC;OACjB,sBAAsB,CAAC,QAAQ,CAAC;CACtC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,QAAkB,EAClB,WAAW,GAAG,qBAAqB;IAEnC,OAAO;;;;;;;;;;eAUM,UAAU,CAAC,WAAW,CAAC;UAC5B,UAAU,CAAC,OAAO,CAAC;YACjB,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CrD,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,OAAe,EACf,QAAkB,EAClB,OAOC;IAED,MAAM,OAAO,GACX,OAAO,EAAE,IAAI,KAAK,QAAQ;QACxB,CAAC,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;QACjE,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tuyoo-devflow",
3
- "version": "0.1.26",
3
+ "version": "0.1.27",
4
4
  "description": "Tuyoo DevFlow CLI for Jenkins and pipeline automation",
5
5
  "private": false,
6
6
  "type": "module",