diff --git a/day07/homework.text b/day07/homework.text new file mode 100644 index 0000000..fdb9d53 --- /dev/null +++ b/day07/homework.text @@ -0,0 +1,4 @@ +# 作业 + + +实现Agent 日志查看功能,通过TaskId,能够查看日志(通过Offset 制定从多少行开始读) diff --git a/devops/agent/api/task.go b/devops/agent/api/task.go index 03bc5e7..a0b7e8a 100644 --- a/devops/agent/api/task.go +++ b/devops/agent/api/task.go @@ -1,8 +1,15 @@ package api import ( + "bufio" + "bytes" + "devops/agent/script" "devops/agent/tasks" "devops/server/apps/task" + "encoding/json" + "os" + "path/filepath" + "strconv" restfulspec "github.com/emicklei/go-restful-openapi/v2" "github.com/emicklei/go-restful/v3" @@ -43,6 +50,18 @@ func (h *TaskApiHandler) Init() error { Reads(task.TaskSpec{}). Writes(task.Task{}). Returns(200, "OK", task.Task{})) + + ws.Route(ws.GET("/{taskId}/result").To(h.GetTaskResult). + Doc("获取任务执行结果"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Param(ws.PathParameter("taskId", "任务ID").DataType("string")). + Writes(script.ExecutionResult{}). + Returns(200, "OK", script.ExecutionResult{})) + + ws.Route(ws.GET("/{taskId}/log").To(h.GetTaskLog). + Doc("获取任务执行日志"). + Metadata(restfulspec.KeyOpenAPITags, tags). + Param(ws.PathParameter("taskId", "任务ID").DataType("string"))) return nil } @@ -50,7 +69,7 @@ func (h *TaskApiHandler) Init() error { // Body 参数是 TaskSpec, 返回 Task func (h *TaskApiHandler) RunTask(r *restful.Request, w *restful.Response) { // 解析请求参数,构造 TaskSpec - req := &task.TaskSpec{} + req := tasks.NewRunTaskRequest("", "") if err := r.ReadEntity(req); err != nil { // "github.com/infraboard/mcube/v2/http/restful/response" // Failed 封装的 GoRestful框架的 异常返回 @@ -59,8 +78,8 @@ func (h *TaskApiHandler) RunTask(r *restful.Request, w *restful.Response) { } // 补充TaskId - if req.Id == "" { - req.Id = uuid.NewString() + if req.WorkDir == "" { + req.WorkDir = uuid.NewString() } // 找到对应的 TaskRunner, 这里我们通过 TaskSpec 中的 Name 字段来找到对应的 TaskRunner @@ -78,3 +97,84 @@ func (h *TaskApiHandler) RunTask(r *restful.Request, w *restful.Response) { } response.Success(w, taskResp) } + +// 通过 taskid 获取 Task 的执行结果, 就是Workspace目录下的 result.json 文件内容 +func (h *TaskApiHandler) GetTaskResult(r *restful.Request, w *restful.Response) { + // 1. 从请求路径中获取 taskId + taskId := r.PathParameter("taskId") + + // 2. 通过 taskId 构建工作目录路径, 工作目录结构是固定的, 比如 workspace/{taskId} + wordirPath, err := script.GetWorkDirAbsPath(taskId) + if err != nil { + response.Failed(w, err) + return + } + + // 3. 从工作目录下读取 result.json 文件, 这个文件是脚本执行完成后生成的, 包含了执行结果 + resultFilePath := filepath.Join(wordirPath, "result.json") + resultFile, err := os.ReadFile(resultFilePath) + if err != nil { + response.Failed(w, err) + return + } + + var result script.ExecutionResult + if err := json.Unmarshal(resultFile, &result); err != nil { + response.Failed(w, err) + return + } + + response.Success(w, &result) +} + +// 通过 taskid 获取 Task 的执行日志, 就是Workspace目录下的 stdout.log 文件内容 +// 添加 offset,limit 参数,支持分页读取日志内容 +func (h *TaskApiHandler) GetTaskLog(r *restful.Request, w *restful.Response) { + // 1. 从请求路径中获取 taskId + taskId := r.PathParameter("taskId") + + // 2. 从查询参数中获取 offset 和 limit(行数),默认值分别是0和100, ?offset=0&limit=100 + offsetStr := r.QueryParameter("offset") + limitStr := r.QueryParameter("limit") + offset, err := strconv.Atoi(offsetStr) + if err != nil { + offset = 0 + } + limit, err := strconv.Atoi(limitStr) + if err != nil { + limit = 1000 + } + + // 2. 通过 taskId 构建工作目录路径, 工作目录结构是固定的, 比如 workspace/{taskId} + wordirPath, err := script.GetWorkDirAbsPath(taskId) + if err != nil { + response.Failed(w, err) + return + } + + // 3. 从工作目录下读取 stdout.log 文件, 这个文件是脚本执行过程中生成的, 包含了执行日志 + logFilePath := filepath.Join(wordirPath, "stdout.txt") + + // 4. 读取日志文件内容,并根据 offset 和 limit 返回对应的日志片段 + logFile, err := os.Open(logFilePath) + if err != nil { + response.Failed(w, err) + return + } + defer logFile.Close() + + // offset和limit(行数) 读取日志文件内容 + logs := bytes.NewBuffer([]byte{}) + scanner := bufio.NewScanner(logFile) + + for i := 0; scanner.Scan() && i < offset+limit; i++ { + if i < offset { + continue + } + logs.Write(scanner.Bytes()) + logs.Write([]byte("\n")) + } + + w.Header().Set("Content-Type", "text/plain") + w.Write(logs.Bytes()) +} diff --git a/devops/agent/script/interface.go b/devops/agent/script/interface.go index 8698981..50a58c7 100644 --- a/devops/agent/script/interface.go +++ b/devops/agent/script/interface.go @@ -17,6 +17,11 @@ const ( APP_NAME = "script_excutor" ) +func GetWorkDirAbsPath(workDir string) (string, error) { + executor := ioc.Controller().Get(APP_NAME).(*ScriptExcutor) + return executor.GetWorkDirAbsPath(workDir) +} + // ExecuteScript 执行脚本的接口函数 // 当前这个脚本引擎对象,别托管到ioc里了,直接暴露一个全局函数就好了, // 毕竟这个函数是我们对外提供的接口,没必要让调用者关心它是怎么实现的 diff --git a/devops/agent/script/runner.go b/devops/agent/script/runner.go index c275038..cb4e110 100644 --- a/devops/agent/script/runner.go +++ b/devops/agent/script/runner.go @@ -254,6 +254,14 @@ func (e *ScriptExcutor) ExecuteScript(ctx context.Context, in *ExecuteScriptRequ return result, err } +func (s *ScriptExcutor) GetWorkDirAbsPath(workDir string) (string, error) { + // 如果是绝对路径,直接返回;如果是相对路径,基于工作目录前缀构建绝对路径 + if filepath.IsAbs(workDir) { + return workDir, nil + } + return filepath.Abs(filepath.Join(s.WorkDirPrefix, workDir)) +} + // saveResult 保存执行结果到文件 func (s *ExecuteScriptRequest) saveResult(result *ExecutionResult) error { if result == nil { diff --git a/devops/agent/script/runner_test.go b/devops/agent/script/runner_test.go index 30d5dae..be3130b 100644 --- a/devops/agent/script/runner_test.go +++ b/devops/agent/script/runner_test.go @@ -11,7 +11,7 @@ import ( func TestScriptExcutor_ExecuteScript(t *testing.T) { // 直接使用单元测试的上下文, 方便取消 req := script.NewExecuteScriptRequest("task_debug.sh", []string{}) - req.SetWorkDir("task-01") + req.SetWorkDir("task-02") req.SetTimeout(30 * time.Second) req.SetDebugScript(true) req.SetLogFile("stdout.txt") diff --git a/devops/agent/tasks/interface.go b/devops/agent/tasks/interface.go index 60cebd0..4118a60 100644 --- a/devops/agent/tasks/interface.go +++ b/devops/agent/tasks/interface.go @@ -2,7 +2,8 @@ package tasks import ( "context" - "devops/server/apps/task" + "devops/agent/script" + "time" ) var ( @@ -22,5 +23,38 @@ func GetTaskRunner(name string) TaskRunner { // 任务名称: task_debug, 任务描述: 调试任务, 任务类型: debug, 任务参数: {} type TaskRunner interface { // 任务需要的运行能力 - Run(context.Context, *task.TaskSpec) (*task.Task, error) + Run(context.Context, *RunTaskRequest) (*script.ExecutionResult, error) +} + +func NewRunTaskRequest(workDir string, name string) *RunTaskRequest { + return &RunTaskRequest{ + WorkDir: workDir, + Name: name, + InputParams: make(map[string]string), + } +} + +type RunTaskRequest struct { + // 任务名称, 比如 "build", "deploy" 每一个名称 在Agent测有一个唯一的Task与之对应 + Name string `json:"name"` + // 运行参数, 比如构建任务的代码分支、部署任务的目标环境等 作为环境变量传递给任务脚本执行 + InputParams map[string]string `json:"input_params"` + // 工作目录, 任务执行过程中产生的文件都放在这个目录下, 由Agent负责清理 + WorkDir string `json:"work_dir"` + // 任务超时时间, 0表示不超时 + TimeoutSecond int64 `json:"timeout_second"` +} + +func (r *RunTaskRequest) SetInputParams(key, value string) *RunTaskRequest { + r.InputParams[key] = value + return r + +} + +func (t *RunTaskRequest) GetTimeout() time.Duration { + if t.TimeoutSecond > 0 { + return time.Duration(t.TimeoutSecond) * time.Second + } + + return time.Duration(60) * time.Minute } diff --git a/devops/agent/tasks/task_debug/impl.go b/devops/agent/tasks/task_debug/impl.go index 8a61bfd..153512e 100644 --- a/devops/agent/tasks/task_debug/impl.go +++ b/devops/agent/tasks/task_debug/impl.go @@ -21,34 +21,24 @@ func init() { // 实现一个 task_debug 任务 type TaskDebugRunner struct{} -func (t *TaskDebugRunner) Run(ctx context.Context, spec *task.TaskSpec) (*task.Task, error) { +func (t *TaskDebugRunner) Run(ctx context.Context, spec *tasks.RunTaskRequest) (*script.ExecutionResult, error) { // 直接使用单元测试的上下文, 方便取消 req := script.NewExecuteScriptRequest("task_debug.sh", []string{}) - req.SetWorkDir(spec.GetWorkDir()) + req.SetWorkDir(spec.WorkDir) req.SetTimeout(spec.GetTimeout()) req.SetDebugScript(true) req.SetLogFile("stdout.txt") // Task的日志,后面会通过Websocket 实时上报给Api Server 右API Server进行日志的实时展示 - req.SetLogCallback(func(s string) { - fmt.Print(s) - }) + // req.SetLogCallback(func(s string) { + // fmt.Print(s) + // }) // 添加输入参数 for k, v := range spec.InputParams { req.SetEnv(k, v) } - - resp, err := script.ExecuteScript(ctx, req) - if err != nil { - return nil, err - } - - // 将resp 转化为 TaskStatus - taskIns := task.NewTask(spec) - MapExecutionResultToTask(taskIns, resp) - // 使用脚本执行 - return taskIns, nil + return script.ExecuteScript(ctx, req) } // MapExecutionResultToTask updates a Task with execution results diff --git a/devops/agent/tasks/task_test.go b/devops/agent/tasks/task_test.go index 96551b0..d0ad841 100644 --- a/devops/agent/tasks/task_test.go +++ b/devops/agent/tasks/task_test.go @@ -4,7 +4,6 @@ import ( "devops/agent/tasks" taskdebug "devops/agent/tasks/task_debug" "devops/agent/test" - "devops/server/apps/task" "testing" ) @@ -12,7 +11,7 @@ import ( func TestTaskDebugRunner(t *testing.T) { taskDebugRunner := tasks.GetTaskRunner(taskdebug.TASK_NAME) - req := task.NewTaskSpec() + req := tasks.NewRunTaskRequest("task-03", taskdebug.TASK_NAME) req.SetInputParams("PARAM_1", "PARAM_1_VALUE") req.SetInputParams("PARAM_2", "PARAM_2_VALUE") diff --git a/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/debug.sh b/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/debug.sh new file mode 100755 index 0000000..e06cc8e --- /dev/null +++ b/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/debug.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# ========== 调试脚本 (自动生成) ========== +# 警告: 此脚本可能包含敏感信息,请勿提交到版本控制系统 +# 生成时间: 2026-03-29 09:39:53 +# 工作目录: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae +# 脚本路径: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +# ========================================== + +set -e + +# 设置环境变量 +export DEBUG_SCRIPT='true' +export OUTPUT_ENV_FILE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/output.env' +export SCRIPT_DIR='/Users/yumaojun/Projects/go-course/go20/devops/agent/shells' +export WORKSPACE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae' + +# 执行脚本 +exec /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh diff --git a/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/output.env b/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/output.env new file mode 100644 index 0000000..e69de29 diff --git a/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/result.json b/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/result.json new file mode 100644 index 0000000..92a2b87 --- /dev/null +++ b/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/result.json @@ -0,0 +1,22 @@ +{ + "command": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh", + "exit_code": 0, + "start_time": "2026-03-29T09:39:53.357289+08:00", + "end_time": "2026-03-29T09:39:53.724932+08:00", + "duration": 367641000, + "success": true, + "metadata": { + "id": "cmd_1774748393350566000", + "name": "", + "created_by": "yumaojun", + "created_at": "2026-03-29T09:39:53.350574+08:00", + "timeout": 3600000000000, + "env_vars": { + "DEBUG_SCRIPT": "true", + "OUTPUT_ENV_FILE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/output.env", + "SCRIPT_DIR": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells", + "WORKSPACE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae" + }, + "work_dir": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae" + } +} \ No newline at end of file diff --git a/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/stdout.txt b/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/stdout.txt new file mode 100644 index 0000000..f0e4f5c --- /dev/null +++ b/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/stdout.txt @@ -0,0 +1,176 @@ + +=== Execution Started === +Time: 2026-03-29 09:39:53 +WorkDir: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae +Script: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +Metadata: ID=cmd_1774748393350566000, Name=, CreatedBy=yumaojun, CreatedAt=2026-03-29 09:39:53, Timeout=1h0m0s, WorkDir=/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae + +[HINT] 2026-03-29 09:39:53 - 开始任务调试信息输出 +[INFO] 2026-03-29 09:39:53 - ======================================== + 任务基本信息 +[INFO] 2026-03-29 09:39:53 - ======================================== +任务ID : 未设置 +任务名称 : 未设置 +任务类型 : 未设置 +任务状态 : 未设置 +任务描述 : 未设置 +执行者 : 未设置 +Agent 环境 : 未设置 +调度的 Agent : 未设置 + +[INFO] 2026-03-29 09:39:53 - ======================================== + 标准环境变量 +[INFO] 2026-03-29 09:39:53 - ======================================== +工作目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae +脚本目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +用户 : yumaojun +主机名 : oldfishmpb-9.local +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae +HOME : /Users/yumaojun +SHELL : /bin/zsh + +[INFO] 2026-03-29 09:39:53 - ======================================== + 任务参数 (PARAM_*) +[INFO] 2026-03-29 09:39:53 - ======================================== + (无任务参数) + +[INFO] 2026-03-29 09:39:53 - ======================================== + 任务定义 (DEFINE_*) +[INFO] 2026-03-29 09:39:53 - ======================================== + (无任务定义) + +[INFO] 2026-03-29 09:39:53 - ======================================== + 所有环境变量 +[INFO] 2026-03-29 09:39:53 - ======================================== +COLORTERM : truecolor +COMMAND_MODE : unix2003 +DEBUG_SCRIPT : true +GIT_ASKPASS : /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh +HOME : /Users/yumaojun +HOMEBREW_CELLAR : /opt/homebrew/Cellar +HOMEBREW_PREFIX : /opt/homebrew +HOMEBREW_REPOSITORY : /opt/homebrew +INFOPATH : /opt/homebrew/share/info:/opt/homebrew/share/info: +JAVA_HOME : /Users/yumaojun/.sdkman/candidates/java/current +LANG : C.UTF-8 +LESS : -R +LOGNAME : yumaojun +LSCOLORS : Gxfxcxdxbxegedabagacad +LS_COLORS : di=1;36:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43 +MAVEN_HOME : /Users/yumaojun/.sdkman/candidates/maven/current +MallocNanoZone : 0 +OSLogRateLimit : 64 +OTEL_SERVICE_NAME : devops_agent +OUTPUT_ENV_FILE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae/... (truncated) +PAGER : less +PATH : /usr/local/go/bin:/Users/yumaojun/bin:/usr/local/bin:/Users/yumaojun/go/bin:/Users/yumaojun/Library/... (truncated) +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae +PYTHONSTARTUP : /Users/yumaojun/Library/Application Support/Code/User/workspaceStorage/42450bd3fb6d98a80fb07a7d27cf3... (truncated) +PYTHON_BASIC_REPL : 1 +RUSTUP_DIST_SERVER : https://rsproxy.cn +RUSTUP_UPDATE_ROOT : https://rsproxy.cn/rustup +SCRIPT_DIR : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +SDKMAN_CANDIDATES_API : https://api.sdkman.io/2 +SDKMAN_CANDIDATES_DIR : /Users/yumaojun/.sdkman/candidates +SDKMAN_DIR : /Users/yumaojun/.sdkman +SDKMAN_PLATFORM : darwinarm64 +SHELL : /bin/zsh +SHLVL : 3 +SSH_AUTH_SOCK : /private/tmp/com.apple.launchd.lh9fi1XbLE/Listeners +TERM : xterm-256color +TERM_PROGRAM : vscode +TERM_PROGRAM_VERSION : 1.113.0 +TMPDIR : /var/folders/51/dnfr1hzd53x03k3fxnnyd4qc0000gn/T/ +USER : yumaojun +USER_ZDOTDIR : /Users/yumaojun +VSCODE_GIT_ASKPASS_EXTRA_ARGS : +VSCODE_GIT_ASKPASS_MAIN : /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js +VSCODE_GIT_ASKPASS_NODE : /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Cod... (truncated) +VSCODE_GIT_IPC_HANDLE : /var/folders/51/dnfr1hzd53x03k3fxnnyd4qc0000gn/T/vscode-git-ba7280a227.sock +VSCODE_INJECTION : 1 +VSCODE_PROFILE_INITIALIZED : 1 +VSCODE_PYTHON_AUTOACTIVATE_GUARD : 1 +WORKSPACE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae +XPC_FLAGS : 0x0 +XPC_SERVICE_NAME : 0 +ZDOTDIR : /Users/yumaojun +ZSH : /Users/yumaojun/.oh-my-zsh +_ : /usr/bin/env +__CFBundleIdentifier : com.microsoft.VSCode +__CF_USER_TEXT_ENCODING : 0x1F5:0x19:0x34 + +[INFO] 2026-03-29 09:39:53 - ======================================== + 系统信息 +[INFO] 2026-03-29 09:39:53 - ======================================== +操作系统 : Darwin +内核版本 : 25.3.0 +架构 : arm64 +磁盘使用 : 528Gi/1.8Ti (29% used) +CPU 核心数 : unknown +当前时间 : 2026-03-29 09:39:53 CST + +[INFO] 2026-03-29 09:39:53 - ======================================== + 工作目录内容 +[INFO] 2026-03-29 09:39:53 - ======================================== +工作目录路径 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/654f27b3-c13e-4911-9983-8d94550a80ae + +文件列表: + -rwxr-xr-x@ 1 yumaojun staff 918B Mar 29 09:39 debug.sh + -rw-r--r--@ 1 yumaojun staff 0B Mar 29 09:39 output.env + -rw-r--r--@ 1 yumaojun staff 6.5K Mar 29 09:39 stdout.txt + +[INFO] 2026-03-29 09:39:53 - ======================================== + 网络信息 +[INFO] 2026-03-29 09:39:53 - ======================================== +IP 地址: + inet 127.0.0.1 netmask 0xff000000 + inet6 ::1 prefixlen 128 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 + inet6 fe80::1cf1:3bff:a208:e4d5%en0 prefixlen 64 secured scopeid 0xe + inet 192.168.10.176 netmask 0xffffff00 broadcast 192.168.10.255 + inet6 2409:8a55:2e7a:bd51:cc4:f906:aef0:ae3c prefixlen 64 autoconf secured + inet6 2409:8a55:2e7a:bd51:5c38:67f9:2431:70e1 prefixlen 64 autoconf temporary + inet6 2409:8a55:2e7a:bd51::7a3 prefixlen 64 dynamic + inet6 fe80::e076:f5ff:fe6c:bb23%awdl0 prefixlen 64 scopeid 0x10 + inet6 fe80::e076:f5ff:fe6c:bb23%llw0 prefixlen 64 scopeid 0x11 + inet6 fe80::2aaa:254b:5496:fcd7%utun0 prefixlen 64 scopeid 0x12 + inet6 fe80::3a94:3e19:56f2:7729%utun1 prefixlen 64 scopeid 0x13 + inet6 fe80::3a73:5c32:f0b4:764c%utun2 prefixlen 64 scopeid 0x14 + inet6 fe80::ce81:b1c:bd2c:69e%utun3 prefixlen 64 scopeid 0x15 + +[INFO] 2026-03-29 09:39:53 - ======================================== + Docker 信息 +[INFO] 2026-03-29 09:39:53 - ======================================== +Docker 版本 : 29.2.1 +运行中的容器 : 2 +总容器数 : 18 +镜像数量 : 44 + +[INFO] 2026-03-29 09:39:53 - ======================================== + 进程信息 +[INFO] 2026-03-29 09:39:53 - ======================================== +当前进程 PID : 44987 +父进程 PID : 44833 + +当前进程树: + +[INFO] 2026-03-29 09:39:53 - ======================================== + 环境变量统计 +[INFO] 2026-03-29 09:39:53 - ======================================== +总环境变量数 : 56 +任务参数数 (PARAM_*) : 0 +0 +任务定义数 (DEFINE_*) : 0 +0 +任务信息数 (TASK_*) : 0 +0 + +[INFO] 2026-03-29 09:39:53 - ======================================== +[SUCCESS] 2026-03-29 09:39:53 - 任务调试信息输出完成 + +=== Execution Finished === +Time: 2026-03-29 09:39:53 +Duration: 367.641ms +Success: true +ExitCode: 0 +Error: diff --git a/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/debug.sh b/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/debug.sh new file mode 100755 index 0000000..58eb580 --- /dev/null +++ b/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/debug.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# ========== 调试脚本 (自动生成) ========== +# 警告: 此脚本可能包含敏感信息,请勿提交到版本控制系统 +# 生成时间: 2026-03-29 09:26:03 +# 工作目录: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93 +# 脚本路径: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +# ========================================== + +set -e + +# 设置环境变量 +export DEBUG_SCRIPT='true' +export OUTPUT_ENV_FILE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/output.env' +export PARAM_1='PARAM_1_VALUE' +export PARAM_2='PARAM_2_VALUE' +export SCRIPT_DIR='/Users/yumaojun/Projects/go-course/go20/devops/agent/shells' +export WORKSPACE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93' + +# 执行脚本 +exec /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh diff --git a/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/output.env b/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/output.env new file mode 100644 index 0000000..e69de29 diff --git a/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/result.json b/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/result.json new file mode 100644 index 0000000..21c9419 --- /dev/null +++ b/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/result.json @@ -0,0 +1,24 @@ +{ + "command": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh", + "exit_code": 0, + "start_time": "2026-03-29T09:26:03.019036+08:00", + "end_time": "2026-03-29T09:26:03.432477+08:00", + "duration": 413440458, + "success": true, + "metadata": { + "id": "cmd_1774747563018562000", + "name": "", + "created_by": "yumaojun", + "created_at": "2026-03-29T09:26:03.018563+08:00", + "timeout": 86400000000000, + "env_vars": { + "DEBUG_SCRIPT": "true", + "OUTPUT_ENV_FILE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/output.env", + "PARAM_1": "PARAM_1_VALUE", + "PARAM_2": "PARAM_2_VALUE", + "SCRIPT_DIR": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells", + "WORKSPACE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93" + }, + "work_dir": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93" + } +} \ No newline at end of file diff --git a/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/stdout.txt b/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/stdout.txt new file mode 100644 index 0000000..60a6715 --- /dev/null +++ b/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/stdout.txt @@ -0,0 +1,224 @@ + +=== Execution Started === +Time: 2026-03-29 09:26:03 +WorkDir: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93 +Script: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +Metadata: ID=cmd_1774747563018562000, Name=, CreatedBy=yumaojun, CreatedAt=2026-03-29 09:26:03, Timeout=24h0m0s, WorkDir=/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93 + +[HINT] 2026-03-29 09:26:03 - 开始任务调试信息输出 +[INFO] 2026-03-29 09:26:03 - ======================================== + 任务基本信息 +[INFO] 2026-03-29 09:26:03 - ======================================== +任务ID : 未设置 +任务名称 : 未设置 +任务类型 : 未设置 +任务状态 : 未设置 +任务描述 : 未设置 +执行者 : 未设置 +Agent 环境 : 未设置 +调度的 Agent : 未设置 + +[INFO] 2026-03-29 09:26:03 - ======================================== + 标准环境变量 +[INFO] 2026-03-29 09:26:03 - ======================================== +工作目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93 +脚本目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +用户 : yumaojun +主机名 : oldfishmpb-9.local +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93 +HOME : /Users/yumaojun +SHELL : /bin/zsh + +[INFO] 2026-03-29 09:26:03 - ======================================== + 任务参数 (PARAM_*) +[INFO] 2026-03-29 09:26:03 - ======================================== +1 : PARAM_1_VALUE +2 : PARAM_2_VALUE + +[INFO] 2026-03-29 09:26:03 - ======================================== + 任务定义 (DEFINE_*) +[INFO] 2026-03-29 09:26:03 - ======================================== + (无任务定义) + +[INFO] 2026-03-29 09:26:03 - ======================================== + 所有环境变量 +[INFO] 2026-03-29 09:26:03 - ======================================== +APPLICATIONINSIGHTS_CONFIGURATION_CONTENT : {} +APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL : 1 +APPLICATION_INSIGHTS_NO_STATSBEAT : true +COMMAND_MODE : unix2003 +COPILOT_OTEL_ENABLED : true +COPILOT_OTEL_EXPORTER_TYPE : file +COPILOT_OTEL_FILE_EXPORTER_PATH : /dev/null +DEBUG_SCRIPT : true +ELECTRON_RUN_AS_NODE : 1 +GOMODCACHE : /Users/yumaojun/go/pkg/mod +GOPATH : /Users/yumaojun/go +GOPROXY : https://goproxy.cn,direct +GOTELEMETRY_GOPLS_CLIENT_START_TIME : 1706263009 +GOTELEMETRY_GOPLS_CLIENT_TOKEN : 92 +HOME : /Users/yumaojun +HOMEBREW_CELLAR : /opt/homebrew/Cellar +HOMEBREW_PREFIX : /opt/homebrew +HOMEBREW_REPOSITORY : /opt/homebrew +HTTPS_PROXY : http://localhost:8001 +HTTP_PROXY : http://localhost:8001 +INFOPATH : /opt/homebrew/share/info: +JAVA_HOME : /Users/yumaojun/.sdkman/candidates/java/current +LANG : C.UTF-8 +LESS : -R +LOGNAME : yumaojun +LSCOLORS : Gxfxcxdxbxegedabagacad +LS_COLORS : di=1;36:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43 +MACH_PORT_RENDEZVOUS_PEER_VALDATION : 0 +MAVEN_HOME : /Users/yumaojun/.sdkman/candidates/maven/current +MallocNanoZone : 0 +NODE_TLS_REJECT_UNAUTHORIZED : undefined +OSLogRateLimit : 64 +OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT : true +OTEL_SERVICE_NAME : devops_agent +OUTPUT_ENV_FILE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93/... (truncated) +PAGER : less +PARAM_1 : PARAM_1_VALUE +PARAM_2 : PARAM_2_VALUE +PATH : /usr/local/go/bin:/Users/yumaojun/.sdkman/candidates/maven/current/bin:/Users/yumaojun/.sdkman/candi... (truncated) +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93 +RUSTUP_DIST_SERVER : https://rsproxy.cn +RUSTUP_UPDATE_ROOT : https://rsproxy.cn/rustup +SCRIPT_DIR : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +SDKMAN_CANDIDATES_API : https://api.sdkman.io/2 +SDKMAN_CANDIDATES_DIR : /Users/yumaojun/.sdkman/candidates +SDKMAN_DIR : /Users/yumaojun/.sdkman +SDKMAN_PLATFORM : darwinarm64 +SHELL : /bin/zsh +SHLVL : 2 +SSH_AUTH_SOCK : /private/tmp/com.apple.launchd.lh9fi1XbLE/Listeners +TMPDIR : /var/folders/51/dnfr1hzd53x03k3fxnnyd4qc0000gn/T/ +USER : yumaojun +VSCEXT_ENABLE_PYTHON_BEST_EFFORTS_INSTALLATION : false +VSCEXT_MATCH_MANIFEST_VERSIONS : true +VSCEXT_PROXY_URL : http://localhost:8001 +VSCEXT_STACK_ANALYSIS_COMMAND : rhda.stackAnalysis +VSCEXT_TELEMETRY_ID : 5d2072f3-115e-4c18-a6a6-c1ab0dbc96c6 +VSCEXT_TRACK_RECOMMENDATION_ACCEPTANCE_COMMAND : rhda.trackRecommendationAcceptance +VSCEXT_TRUSTIFY_DA_BACKEND_URL : https://rhda.rhcloud.com +VSCEXT_TRUSTIFY_DA_DOCKER_PATH : docker +VSCEXT_TRUSTIFY_DA_GO_PATH : go +VSCEXT_TRUSTIFY_DA_GRADLE_PATH : gradle +VSCEXT_TRUSTIFY_DA_IMAGE_PLATFORM : +VSCEXT_TRUSTIFY_DA_MVN_ARGS : [] +VSCEXT_TRUSTIFY_DA_MVN_PATH : mvn +VSCEXT_TRUSTIFY_DA_NPM_PATH : npm +VSCEXT_TRUSTIFY_DA_PIP3_PATH : pip3 +VSCEXT_TRUSTIFY_DA_PIP_PATH : pip +VSCEXT_TRUSTIFY_DA_PNPM_PATH : pnpm +VSCEXT_TRUSTIFY_DA_PODMAN_PATH : podman +VSCEXT_TRUSTIFY_DA_PREFER_GRADLEW : true +VSCEXT_TRUSTIFY_DA_PREFER_MVNW : true +VSCEXT_TRUSTIFY_DA_PYTHON3_PATH : python3 +VSCEXT_TRUSTIFY_DA_PYTHON_PATH : python +VSCEXT_TRUSTIFY_DA_SKOPEO_CONFIG_PATH : +VSCEXT_TRUSTIFY_DA_SKOPEO_PATH : skopeo +VSCEXT_TRUSTIFY_DA_SYFT_CONFIG_PATH : +VSCEXT_TRUSTIFY_DA_SYFT_PATH : syft +VSCEXT_TRUSTIFY_DA_YARN_PATH : yarn +VSCEXT_USE_GO_MVS : false +VSCEXT_USE_PIP_DEP_TREE : false +VSCEXT_USE_PYTHON_VIRTUAL_ENVIRONMENT : false +VSCEXT_UTM_SOURCE : vscode +VSCEXT_VULNERABILITY_ALERT_SEVERITY : Error +VSCODE_CODE_CACHE_PATH : /Users/yumaojun/Library/Application Support/Code/CachedData/cfbea10c5ffb233ea9177d34726e6056e89913dc +VSCODE_CRASH_REPORTER_PROCESS_TYPE : extensionHost +VSCODE_CWD : / +VSCODE_DOTNET_INSTALL_TOOL_ORIGINAL_HOME : /Users/yumaojun +VSCODE_ESM_ENTRYPOINT : vs/workbench/api/node/extensionHostProcess +VSCODE_HANDLES_UNCAUGHT_ERRORS : true +VSCODE_IPC_HOOK : /Users/yumaojun/Library/Application Support/Code/1.11-main.sock +VSCODE_L10N_BUNDLE_LOCATION : file:///Users/yumaojun/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.110.2026032812/tr... (truncated) +VSCODE_NLS_CONFIG : {"userLocale":"zh-cn","osLocale":"zh-cn","resolvedLanguage":"zh-cn","defaultMessagesFile":"/Applicat... (truncated) +VSCODE_PID : 33000 +WORKSPACE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93 +XPC_FLAGS : 0x0 +XPC_SERVICE_NAME : 0 +ZSH : /Users/yumaojun/.oh-my-zsh +_ : /usr/bin/env +__CFBundleIdentifier : com.microsoft.VSCode +__CF_USER_TEXT_ENCODING : 0x1F5:0x19:0x34 +http_proxy : http://localhost:8001 +https_proxy : http://localhost:8001 +workspaceFolder : /Users/yumaojun/Projects/go-course/go20/devops + +[INFO] 2026-03-29 09:26:03 - ======================================== + 系统信息 +[INFO] 2026-03-29 09:26:03 - ======================================== +操作系统 : Darwin +内核版本 : 25.3.0 +架构 : arm64 +磁盘使用 : 528Gi/1.8Ti (29% used) +CPU 核心数 : unknown +当前时间 : 2026-03-29 09:26:03 CST + +[INFO] 2026-03-29 09:26:03 - ======================================== + 工作目录内容 +[INFO] 2026-03-29 09:26:03 - ======================================== +工作目录路径 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/6a75c2d0-7bdb-4f35-895a-fde49f8f7e93 + +文件列表: + -rwxr-xr-x 1 yumaojun staff 980B Mar 29 09:26 debug.sh + -rw-r--r-- 1 yumaojun staff 0B Mar 29 09:26 output.env + -rw-r--r-- 1 yumaojun staff 8.7K Mar 29 09:26 stdout.txt + +[INFO] 2026-03-29 09:26:03 - ======================================== + 网络信息 +[INFO] 2026-03-29 09:26:03 - ======================================== +IP 地址: + inet 127.0.0.1 netmask 0xff000000 + inet6 ::1 prefixlen 128 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 + inet6 fe80::1cf1:3bff:a208:e4d5%en0 prefixlen 64 secured scopeid 0xe + inet 192.168.10.176 netmask 0xffffff00 broadcast 192.168.10.255 + inet6 2409:8a55:2e7a:bd51:cc4:f906:aef0:ae3c prefixlen 64 autoconf secured + inet6 2409:8a55:2e7a:bd51:5c38:67f9:2431:70e1 prefixlen 64 autoconf temporary + inet6 2409:8a55:2e7a:bd51::7a3 prefixlen 64 dynamic + inet6 fe80::e076:f5ff:fe6c:bb23%awdl0 prefixlen 64 scopeid 0x10 + inet6 fe80::e076:f5ff:fe6c:bb23%llw0 prefixlen 64 scopeid 0x11 + inet6 fe80::2aaa:254b:5496:fcd7%utun0 prefixlen 64 scopeid 0x12 + inet6 fe80::3a94:3e19:56f2:7729%utun1 prefixlen 64 scopeid 0x13 + inet6 fe80::3a73:5c32:f0b4:764c%utun2 prefixlen 64 scopeid 0x14 + inet6 fe80::ce81:b1c:bd2c:69e%utun3 prefixlen 64 scopeid 0x15 + +[INFO] 2026-03-29 09:26:03 - ======================================== + Docker 信息 +[INFO] 2026-03-29 09:26:03 - ======================================== +Docker 版本 : 29.2.1 +运行中的容器 : 2 +总容器数 : 18 +镜像数量 : 44 + +[INFO] 2026-03-29 09:26:03 - ======================================== + 进程信息 +[INFO] 2026-03-29 09:26:03 - ======================================== +当前进程 PID : 41796 +父进程 PID : 41792 + +当前进程树: + +[INFO] 2026-03-29 09:26:03 - ======================================== + 环境变量统计 +[INFO] 2026-03-29 09:26:03 - ======================================== +总环境变量数 : 104 +任务参数数 (PARAM_*) : 2 +任务定义数 (DEFINE_*) : 0 +0 +任务信息数 (TASK_*) : 0 +0 + +[INFO] 2026-03-29 09:26:03 - ======================================== +[SUCCESS] 2026-03-29 09:26:03 - 任务调试信息输出完成 + +=== Execution Finished === +Time: 2026-03-29 09:26:03 +Duration: 413.440458ms +Success: true +ExitCode: 0 +Error: diff --git a/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/debug.sh b/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/debug.sh new file mode 100755 index 0000000..e306f60 --- /dev/null +++ b/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/debug.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# ========== 调试脚本 (自动生成) ========== +# 警告: 此脚本可能包含敏感信息,请勿提交到版本控制系统 +# 生成时间: 2026-03-29 09:41:05 +# 工作目录: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2 +# 脚本路径: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +# ========================================== + +set -e + +# 设置环境变量 +export DEBUG_SCRIPT='true' +export OUTPUT_ENV_FILE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/output.env' +export SCRIPT_DIR='/Users/yumaojun/Projects/go-course/go20/devops/agent/shells' +export WORKSPACE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2' + +# 执行脚本 +exec /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh diff --git a/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/output.env b/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/output.env new file mode 100644 index 0000000..e69de29 diff --git a/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/result.json b/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/result.json new file mode 100644 index 0000000..eeb93ca --- /dev/null +++ b/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/result.json @@ -0,0 +1,22 @@ +{ + "command": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh", + "exit_code": 0, + "start_time": "2026-03-29T09:41:05.211159+08:00", + "end_time": "2026-03-29T09:41:05.578651+08:00", + "duration": 367490375, + "success": true, + "metadata": { + "id": "cmd_1774748465210555000", + "name": "", + "created_by": "yumaojun", + "created_at": "2026-03-29T09:41:05.210565+08:00", + "timeout": 3600000000000, + "env_vars": { + "DEBUG_SCRIPT": "true", + "OUTPUT_ENV_FILE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/output.env", + "SCRIPT_DIR": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells", + "WORKSPACE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2" + }, + "work_dir": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2" + } +} \ No newline at end of file diff --git a/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/stdout.txt b/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/stdout.txt new file mode 100644 index 0000000..1ec89ca --- /dev/null +++ b/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/stdout.txt @@ -0,0 +1,176 @@ + +=== Execution Started === +Time: 2026-03-29 09:41:05 +WorkDir: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2 +Script: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +Metadata: ID=cmd_1774748465210555000, Name=, CreatedBy=yumaojun, CreatedAt=2026-03-29 09:41:05, Timeout=1h0m0s, WorkDir=/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2 + +[HINT] 2026-03-29 09:41:05 - 开始任务调试信息输出 +[INFO] 2026-03-29 09:41:05 - ======================================== + 任务基本信息 +[INFO] 2026-03-29 09:41:05 - ======================================== +任务ID : 未设置 +任务名称 : 未设置 +任务类型 : 未设置 +任务状态 : 未设置 +任务描述 : 未设置 +执行者 : 未设置 +Agent 环境 : 未设置 +调度的 Agent : 未设置 + +[INFO] 2026-03-29 09:41:05 - ======================================== + 标准环境变量 +[INFO] 2026-03-29 09:41:05 - ======================================== +工作目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2 +脚本目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +用户 : yumaojun +主机名 : oldfishmpb-9.local +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2 +HOME : /Users/yumaojun +SHELL : /bin/zsh + +[INFO] 2026-03-29 09:41:05 - ======================================== + 任务参数 (PARAM_*) +[INFO] 2026-03-29 09:41:05 - ======================================== + (无任务参数) + +[INFO] 2026-03-29 09:41:05 - ======================================== + 任务定义 (DEFINE_*) +[INFO] 2026-03-29 09:41:05 - ======================================== + (无任务定义) + +[INFO] 2026-03-29 09:41:05 - ======================================== + 所有环境变量 +[INFO] 2026-03-29 09:41:05 - ======================================== +COLORTERM : truecolor +COMMAND_MODE : unix2003 +DEBUG_SCRIPT : true +GIT_ASKPASS : /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh +HOME : /Users/yumaojun +HOMEBREW_CELLAR : /opt/homebrew/Cellar +HOMEBREW_PREFIX : /opt/homebrew +HOMEBREW_REPOSITORY : /opt/homebrew +INFOPATH : /opt/homebrew/share/info:/opt/homebrew/share/info: +JAVA_HOME : /Users/yumaojun/.sdkman/candidates/java/current +LANG : C.UTF-8 +LESS : -R +LOGNAME : yumaojun +LSCOLORS : Gxfxcxdxbxegedabagacad +LS_COLORS : di=1;36:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43 +MAVEN_HOME : /Users/yumaojun/.sdkman/candidates/maven/current +MallocNanoZone : 0 +OSLogRateLimit : 64 +OTEL_SERVICE_NAME : devops_agent +OUTPUT_ENV_FILE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2/... (truncated) +PAGER : less +PATH : /usr/local/go/bin:/Users/yumaojun/bin:/usr/local/bin:/Users/yumaojun/go/bin:/Users/yumaojun/Library/... (truncated) +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2 +PYTHONSTARTUP : /Users/yumaojun/Library/Application Support/Code/User/workspaceStorage/42450bd3fb6d98a80fb07a7d27cf3... (truncated) +PYTHON_BASIC_REPL : 1 +RUSTUP_DIST_SERVER : https://rsproxy.cn +RUSTUP_UPDATE_ROOT : https://rsproxy.cn/rustup +SCRIPT_DIR : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +SDKMAN_CANDIDATES_API : https://api.sdkman.io/2 +SDKMAN_CANDIDATES_DIR : /Users/yumaojun/.sdkman/candidates +SDKMAN_DIR : /Users/yumaojun/.sdkman +SDKMAN_PLATFORM : darwinarm64 +SHELL : /bin/zsh +SHLVL : 3 +SSH_AUTH_SOCK : /private/tmp/com.apple.launchd.lh9fi1XbLE/Listeners +TERM : xterm-256color +TERM_PROGRAM : vscode +TERM_PROGRAM_VERSION : 1.113.0 +TMPDIR : /var/folders/51/dnfr1hzd53x03k3fxnnyd4qc0000gn/T/ +USER : yumaojun +USER_ZDOTDIR : /Users/yumaojun +VSCODE_GIT_ASKPASS_EXTRA_ARGS : +VSCODE_GIT_ASKPASS_MAIN : /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js +VSCODE_GIT_ASKPASS_NODE : /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Cod... (truncated) +VSCODE_GIT_IPC_HANDLE : /var/folders/51/dnfr1hzd53x03k3fxnnyd4qc0000gn/T/vscode-git-ba7280a227.sock +VSCODE_INJECTION : 1 +VSCODE_PROFILE_INITIALIZED : 1 +VSCODE_PYTHON_AUTOACTIVATE_GUARD : 1 +WORKSPACE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2 +XPC_FLAGS : 0x0 +XPC_SERVICE_NAME : 0 +ZDOTDIR : /Users/yumaojun +ZSH : /Users/yumaojun/.oh-my-zsh +_ : /usr/bin/env +__CFBundleIdentifier : com.microsoft.VSCode +__CF_USER_TEXT_ENCODING : 0x1F5:0x19:0x34 + +[INFO] 2026-03-29 09:41:05 - ======================================== + 系统信息 +[INFO] 2026-03-29 09:41:05 - ======================================== +操作系统 : Darwin +内核版本 : 25.3.0 +架构 : arm64 +磁盘使用 : 528Gi/1.8Ti (29% used) +CPU 核心数 : unknown +当前时间 : 2026-03-29 09:41:05 CST + +[INFO] 2026-03-29 09:41:05 - ======================================== + 工作目录内容 +[INFO] 2026-03-29 09:41:05 - ======================================== +工作目录路径 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/73721632-6728-469a-8bde-ca02b3defcb2 + +文件列表: + -rwxr-xr-x@ 1 yumaojun staff 918B Mar 29 09:41 debug.sh + -rw-r--r--@ 1 yumaojun staff 0B Mar 29 09:41 output.env + -rw-r--r--@ 1 yumaojun staff 6.5K Mar 29 09:41 stdout.txt + +[INFO] 2026-03-29 09:41:05 - ======================================== + 网络信息 +[INFO] 2026-03-29 09:41:05 - ======================================== +IP 地址: + inet 127.0.0.1 netmask 0xff000000 + inet6 ::1 prefixlen 128 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 + inet6 fe80::1cf1:3bff:a208:e4d5%en0 prefixlen 64 secured scopeid 0xe + inet 192.168.10.176 netmask 0xffffff00 broadcast 192.168.10.255 + inet6 2409:8a55:2e7a:bd51:cc4:f906:aef0:ae3c prefixlen 64 autoconf secured + inet6 2409:8a55:2e7a:bd51:5c38:67f9:2431:70e1 prefixlen 64 autoconf temporary + inet6 2409:8a55:2e7a:bd51::7a3 prefixlen 64 dynamic + inet6 fe80::e076:f5ff:fe6c:bb23%awdl0 prefixlen 64 scopeid 0x10 + inet6 fe80::e076:f5ff:fe6c:bb23%llw0 prefixlen 64 scopeid 0x11 + inet6 fe80::2aaa:254b:5496:fcd7%utun0 prefixlen 64 scopeid 0x12 + inet6 fe80::3a94:3e19:56f2:7729%utun1 prefixlen 64 scopeid 0x13 + inet6 fe80::3a73:5c32:f0b4:764c%utun2 prefixlen 64 scopeid 0x14 + inet6 fe80::ce81:b1c:bd2c:69e%utun3 prefixlen 64 scopeid 0x15 + +[INFO] 2026-03-29 09:41:05 - ======================================== + Docker 信息 +[INFO] 2026-03-29 09:41:05 - ======================================== +Docker 版本 : 29.2.1 +运行中的容器 : 2 +总容器数 : 18 +镜像数量 : 44 + +[INFO] 2026-03-29 09:41:05 - ======================================== + 进程信息 +[INFO] 2026-03-29 09:41:05 - ======================================== +当前进程 PID : 45434 +父进程 PID : 45408 + +当前进程树: + +[INFO] 2026-03-29 09:41:05 - ======================================== + 环境变量统计 +[INFO] 2026-03-29 09:41:05 - ======================================== +总环境变量数 : 56 +任务参数数 (PARAM_*) : 0 +0 +任务定义数 (DEFINE_*) : 0 +0 +任务信息数 (TASK_*) : 0 +0 + +[INFO] 2026-03-29 09:41:05 - ======================================== +[SUCCESS] 2026-03-29 09:41:05 - 任务调试信息输出完成 + +=== Execution Finished === +Time: 2026-03-29 09:41:05 +Duration: 367.490375ms +Success: true +ExitCode: 0 +Error: diff --git a/devops/agent/workspace/task-02/debug.sh b/devops/agent/workspace/task-02/debug.sh new file mode 100755 index 0000000..cebfbd8 --- /dev/null +++ b/devops/agent/workspace/task-02/debug.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# ========== 调试脚本 (自动生成) ========== +# 警告: 此脚本可能包含敏感信息,请勿提交到版本控制系统 +# 生成时间: 2026-03-29 09:21:59 +# 工作目录: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02 +# 脚本路径: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +# ========================================== + +set -e + +# 设置环境变量 +export DEBUG_SCRIPT='true' +export OUTPUT_ENV_FILE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02/output.env' +export SCRIPT_DIR='/Users/yumaojun/Projects/go-course/go20/devops/agent/shells' +export WORKSPACE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02' + +# 执行脚本 +exec /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh diff --git a/devops/agent/workspace/task-02/output.env b/devops/agent/workspace/task-02/output.env new file mode 100644 index 0000000..e69de29 diff --git a/devops/agent/workspace/task-02/result.json b/devops/agent/workspace/task-02/result.json new file mode 100644 index 0000000..07b899d --- /dev/null +++ b/devops/agent/workspace/task-02/result.json @@ -0,0 +1,22 @@ +{ + "command": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh", + "exit_code": 0, + "start_time": "2026-03-29T09:21:59.850531+08:00", + "end_time": "2026-03-29T09:22:00.98316+08:00", + "duration": 1132628709, + "success": true, + "metadata": { + "id": "cmd_1774747319849547000", + "name": "", + "created_by": "yumaojun", + "created_at": "2026-03-29T09:21:59.849549+08:00", + "timeout": 30000000000, + "env_vars": { + "DEBUG_SCRIPT": "true", + "OUTPUT_ENV_FILE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02/output.env", + "SCRIPT_DIR": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells", + "WORKSPACE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02" + }, + "work_dir": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02" + } +} \ No newline at end of file diff --git a/devops/agent/workspace/task-02/stdout.txt b/devops/agent/workspace/task-02/stdout.txt new file mode 100644 index 0000000..a51f468 --- /dev/null +++ b/devops/agent/workspace/task-02/stdout.txt @@ -0,0 +1,222 @@ + +=== Execution Started === +Time: 2026-03-29 09:21:59 +WorkDir: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02 +Script: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +Metadata: ID=cmd_1774747319849547000, Name=, CreatedBy=yumaojun, CreatedAt=2026-03-29 09:21:59, Timeout=30s, WorkDir=/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02 + +[HINT] 2026-03-29 09:21:59 - 开始任务调试信息输出 +[INFO] 2026-03-29 09:21:59 - ======================================== + 任务基本信息 +[INFO] 2026-03-29 09:21:59 - ======================================== +任务ID : 未设置 +任务名称 : 未设置 +任务类型 : 未设置 +任务状态 : 未设置 +任务描述 : 未设置 +执行者 : 未设置 +Agent 环境 : 未设置 +调度的 Agent : 未设置 + +[INFO] 2026-03-29 09:21:59 - ======================================== + 标准环境变量 +[INFO] 2026-03-29 09:21:59 - ======================================== +工作目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02 +脚本目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +用户 : yumaojun +主机名 : oldfishmpb-9.local +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02 +HOME : /Users/yumaojun +SHELL : /bin/zsh + +[INFO] 2026-03-29 09:21:59 - ======================================== + 任务参数 (PARAM_*) +[INFO] 2026-03-29 09:21:59 - ======================================== + (无任务参数) + +[INFO] 2026-03-29 09:22:00 - ======================================== + 任务定义 (DEFINE_*) +[INFO] 2026-03-29 09:22:00 - ======================================== + (无任务定义) + +[INFO] 2026-03-29 09:22:00 - ======================================== + 所有环境变量 +[INFO] 2026-03-29 09:22:00 - ======================================== +APPLICATIONINSIGHTS_CONFIGURATION_CONTENT : {} +APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL : 1 +APPLICATION_INSIGHTS_NO_STATSBEAT : true +COMMAND_MODE : unix2003 +COPILOT_OTEL_ENABLED : true +COPILOT_OTEL_EXPORTER_TYPE : file +COPILOT_OTEL_FILE_EXPORTER_PATH : /dev/null +DEBUG_SCRIPT : true +ELECTRON_RUN_AS_NODE : 1 +GOMODCACHE : /Users/yumaojun/go/pkg/mod +GOPATH : /Users/yumaojun/go +GOPROXY : https://goproxy.cn,direct +GOTELEMETRY_GOPLS_CLIENT_START_TIME : 1706263009 +GOTELEMETRY_GOPLS_CLIENT_TOKEN : 92 +HOME : /Users/yumaojun +HOMEBREW_CELLAR : /opt/homebrew/Cellar +HOMEBREW_PREFIX : /opt/homebrew +HOMEBREW_REPOSITORY : /opt/homebrew +HTTPS_PROXY : http://localhost:8001 +HTTP_PROXY : http://localhost:8001 +INFOPATH : /opt/homebrew/share/info: +JAVA_HOME : /Users/yumaojun/.sdkman/candidates/java/current +LANG : C.UTF-8 +LESS : -R +LOGNAME : yumaojun +LSCOLORS : Gxfxcxdxbxegedabagacad +LS_COLORS : di=1;36:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43 +MACH_PORT_RENDEZVOUS_PEER_VALDATION : 0 +MAVEN_HOME : /Users/yumaojun/.sdkman/candidates/maven/current +MallocNanoZone : 0 +NODE_TLS_REJECT_UNAUTHORIZED : undefined +OSLogRateLimit : 64 +OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT : true +OTEL_SERVICE_NAME : devops_agent +OUTPUT_ENV_FILE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02/output.env +PAGER : less +PATH : /usr/local/go/bin:/Users/yumaojun/.sdkman/candidates/maven/current/bin:/Users/yumaojun/.sdkman/candi... (truncated) +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02 +RUSTUP_DIST_SERVER : https://rsproxy.cn +RUSTUP_UPDATE_ROOT : https://rsproxy.cn/rustup +SCRIPT_DIR : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +SDKMAN_CANDIDATES_API : https://api.sdkman.io/2 +SDKMAN_CANDIDATES_DIR : /Users/yumaojun/.sdkman/candidates +SDKMAN_DIR : /Users/yumaojun/.sdkman +SDKMAN_PLATFORM : darwinarm64 +SHELL : /bin/zsh +SHLVL : 2 +SSH_AUTH_SOCK : /private/tmp/com.apple.launchd.lh9fi1XbLE/Listeners +TMPDIR : /var/folders/51/dnfr1hzd53x03k3fxnnyd4qc0000gn/T/ +USER : yumaojun +VSCEXT_ENABLE_PYTHON_BEST_EFFORTS_INSTALLATION : false +VSCEXT_MATCH_MANIFEST_VERSIONS : true +VSCEXT_PROXY_URL : http://localhost:8001 +VSCEXT_STACK_ANALYSIS_COMMAND : rhda.stackAnalysis +VSCEXT_TELEMETRY_ID : 5d2072f3-115e-4c18-a6a6-c1ab0dbc96c6 +VSCEXT_TRACK_RECOMMENDATION_ACCEPTANCE_COMMAND : rhda.trackRecommendationAcceptance +VSCEXT_TRUSTIFY_DA_BACKEND_URL : https://rhda.rhcloud.com +VSCEXT_TRUSTIFY_DA_DOCKER_PATH : docker +VSCEXT_TRUSTIFY_DA_GO_PATH : go +VSCEXT_TRUSTIFY_DA_GRADLE_PATH : gradle +VSCEXT_TRUSTIFY_DA_IMAGE_PLATFORM : +VSCEXT_TRUSTIFY_DA_MVN_ARGS : [] +VSCEXT_TRUSTIFY_DA_MVN_PATH : mvn +VSCEXT_TRUSTIFY_DA_NPM_PATH : npm +VSCEXT_TRUSTIFY_DA_PIP3_PATH : pip3 +VSCEXT_TRUSTIFY_DA_PIP_PATH : pip +VSCEXT_TRUSTIFY_DA_PNPM_PATH : pnpm +VSCEXT_TRUSTIFY_DA_PODMAN_PATH : podman +VSCEXT_TRUSTIFY_DA_PREFER_GRADLEW : true +VSCEXT_TRUSTIFY_DA_PREFER_MVNW : true +VSCEXT_TRUSTIFY_DA_PYTHON3_PATH : python3 +VSCEXT_TRUSTIFY_DA_PYTHON_PATH : python +VSCEXT_TRUSTIFY_DA_SKOPEO_CONFIG_PATH : +VSCEXT_TRUSTIFY_DA_SKOPEO_PATH : skopeo +VSCEXT_TRUSTIFY_DA_SYFT_CONFIG_PATH : +VSCEXT_TRUSTIFY_DA_SYFT_PATH : syft +VSCEXT_TRUSTIFY_DA_YARN_PATH : yarn +VSCEXT_USE_GO_MVS : false +VSCEXT_USE_PIP_DEP_TREE : false +VSCEXT_USE_PYTHON_VIRTUAL_ENVIRONMENT : false +VSCEXT_UTM_SOURCE : vscode +VSCEXT_VULNERABILITY_ALERT_SEVERITY : Error +VSCODE_CODE_CACHE_PATH : /Users/yumaojun/Library/Application Support/Code/CachedData/cfbea10c5ffb233ea9177d34726e6056e89913dc +VSCODE_CRASH_REPORTER_PROCESS_TYPE : extensionHost +VSCODE_CWD : / +VSCODE_DOTNET_INSTALL_TOOL_ORIGINAL_HOME : /Users/yumaojun +VSCODE_ESM_ENTRYPOINT : vs/workbench/api/node/extensionHostProcess +VSCODE_HANDLES_UNCAUGHT_ERRORS : true +VSCODE_IPC_HOOK : /Users/yumaojun/Library/Application Support/Code/1.11-main.sock +VSCODE_L10N_BUNDLE_LOCATION : file:///Users/yumaojun/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.110.2026032812/tr... (truncated) +VSCODE_NLS_CONFIG : {"userLocale":"zh-cn","osLocale":"zh-cn","resolvedLanguage":"zh-cn","defaultMessagesFile":"/Applicat... (truncated) +VSCODE_PID : 33000 +WORKSPACE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02 +XPC_FLAGS : 0x0 +XPC_SERVICE_NAME : 0 +ZSH : /Users/yumaojun/.oh-my-zsh +_ : /usr/bin/env +__CFBundleIdentifier : com.microsoft.VSCode +__CF_USER_TEXT_ENCODING : 0x1F5:0x19:0x34 +http_proxy : http://localhost:8001 +https_proxy : http://localhost:8001 +workspaceFolder : /Users/yumaojun/Projects/go-course/go20/devops + +[INFO] 2026-03-29 09:22:00 - ======================================== + 系统信息 +[INFO] 2026-03-29 09:22:00 - ======================================== +操作系统 : Darwin +内核版本 : 25.3.0 +架构 : arm64 +磁盘使用 : 530Gi/1.8Ti (29% used) +CPU 核心数 : unknown +当前时间 : 2026-03-29 09:22:00 CST + +[INFO] 2026-03-29 09:22:00 - ======================================== + 工作目录内容 +[INFO] 2026-03-29 09:22:00 - ======================================== +工作目录路径 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-02 + +文件列表: + -rwxr-xr-x 1 yumaojun staff 831B Mar 29 09:21 debug.sh + -rw-r--r-- 1 yumaojun staff 0B Mar 29 09:21 output.env + -rw-r--r-- 1 yumaojun staff 8.3K Mar 29 09:22 stdout.txt + +[INFO] 2026-03-29 09:22:00 - ======================================== + 网络信息 +[INFO] 2026-03-29 09:22:00 - ======================================== +IP 地址: + inet 127.0.0.1 netmask 0xff000000 + inet6 ::1 prefixlen 128 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 + inet6 fe80::1cf1:3bff:a208:e4d5%en0 prefixlen 64 secured scopeid 0xe + inet 192.168.10.176 netmask 0xffffff00 broadcast 192.168.10.255 + inet6 2409:8a55:2e7a:bd51:cc4:f906:aef0:ae3c prefixlen 64 autoconf secured + inet6 2409:8a55:2e7a:bd51:5c38:67f9:2431:70e1 prefixlen 64 autoconf temporary + inet6 2409:8a55:2e7a:bd51::7a3 prefixlen 64 dynamic + inet6 fe80::e076:f5ff:fe6c:bb23%awdl0 prefixlen 64 scopeid 0x10 + inet6 fe80::e076:f5ff:fe6c:bb23%llw0 prefixlen 64 scopeid 0x11 + inet6 fe80::2aaa:254b:5496:fcd7%utun0 prefixlen 64 scopeid 0x12 + inet6 fe80::3a94:3e19:56f2:7729%utun1 prefixlen 64 scopeid 0x13 + inet6 fe80::3a73:5c32:f0b4:764c%utun2 prefixlen 64 scopeid 0x14 + inet6 fe80::ce81:b1c:bd2c:69e%utun3 prefixlen 64 scopeid 0x15 + +[INFO] 2026-03-29 09:22:00 - ======================================== + Docker 信息 +[INFO] 2026-03-29 09:22:00 - ======================================== +Docker 版本 : 29.2.1 +运行中的容器 : 2 +总容器数 : 18 +镜像数量 : 44 + +[INFO] 2026-03-29 09:22:00 - ======================================== + 进程信息 +[INFO] 2026-03-29 09:22:00 - ======================================== +当前进程 PID : 41034 +父进程 PID : 41029 + +当前进程树: + +[INFO] 2026-03-29 09:22:00 - ======================================== + 环境变量统计 +[INFO] 2026-03-29 09:22:00 - ======================================== +总环境变量数 : 102 +任务参数数 (PARAM_*) : 0 +0 +任务定义数 (DEFINE_*) : 0 +0 +任务信息数 (TASK_*) : 0 +0 + +[INFO] 2026-03-29 09:22:00 - ======================================== +[SUCCESS] 2026-03-29 09:22:00 - 任务调试信息输出完成 + +=== Execution Finished === +Time: 2026-03-29 09:22:00 +Duration: 1.132628709s +Success: true +ExitCode: 0 +Error: diff --git a/devops/agent/workspace/task-03/debug.sh b/devops/agent/workspace/task-03/debug.sh new file mode 100755 index 0000000..6a18a97 --- /dev/null +++ b/devops/agent/workspace/task-03/debug.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# ========== 调试脚本 (自动生成) ========== +# 警告: 此脚本可能包含敏感信息,请勿提交到版本控制系统 +# 生成时间: 2026-03-29 10:53:18 +# 工作目录: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03 +# 脚本路径: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +# ========================================== + +set -e + +# 设置环境变量 +export DEBUG_SCRIPT='true' +export OUTPUT_ENV_FILE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03/output.env' +export PARAM_1='PARAM_1_VALUE' +export PARAM_2='PARAM_2_VALUE' +export SCRIPT_DIR='/Users/yumaojun/Projects/go-course/go20/devops/agent/shells' +export WORKSPACE='/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03' + +# 执行脚本 +exec /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh diff --git a/devops/agent/workspace/task-03/output.env b/devops/agent/workspace/task-03/output.env new file mode 100644 index 0000000..e69de29 diff --git a/devops/agent/workspace/task-03/result.json b/devops/agent/workspace/task-03/result.json new file mode 100644 index 0000000..868ebcb --- /dev/null +++ b/devops/agent/workspace/task-03/result.json @@ -0,0 +1,24 @@ +{ + "command": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh", + "exit_code": 0, + "start_time": "2026-03-29T10:53:18.625447+08:00", + "end_time": "2026-03-29T10:53:18.999289+08:00", + "duration": 373839708, + "success": true, + "metadata": { + "id": "cmd_1774752798624436000", + "name": "", + "created_by": "yumaojun", + "created_at": "2026-03-29T10:53:18.624438+08:00", + "timeout": 3600000000000, + "env_vars": { + "DEBUG_SCRIPT": "true", + "OUTPUT_ENV_FILE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03/output.env", + "PARAM_1": "PARAM_1_VALUE", + "PARAM_2": "PARAM_2_VALUE", + "SCRIPT_DIR": "/Users/yumaojun/Projects/go-course/go20/devops/agent/shells", + "WORKSPACE": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03" + }, + "work_dir": "/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03" + } +} \ No newline at end of file diff --git a/devops/agent/workspace/task-03/stdout.txt b/devops/agent/workspace/task-03/stdout.txt new file mode 100644 index 0000000..d93caf9 --- /dev/null +++ b/devops/agent/workspace/task-03/stdout.txt @@ -0,0 +1,224 @@ + +=== Execution Started === +Time: 2026-03-29 10:53:18 +WorkDir: /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03 +Script: /Users/yumaojun/Projects/go-course/go20/devops/agent/shells/task_debug.sh +Metadata: ID=cmd_1774752798624436000, Name=, CreatedBy=yumaojun, CreatedAt=2026-03-29 10:53:18, Timeout=1h0m0s, WorkDir=/Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03 + +[HINT] 2026-03-29 10:53:18 - 开始任务调试信息输出 +[INFO] 2026-03-29 10:53:18 - ======================================== + 任务基本信息 +[INFO] 2026-03-29 10:53:18 - ======================================== +任务ID : 未设置 +任务名称 : 未设置 +任务类型 : 未设置 +任务状态 : 未设置 +任务描述 : 未设置 +执行者 : 未设置 +Agent 环境 : 未设置 +调度的 Agent : 未设置 + +[INFO] 2026-03-29 10:53:18 - ======================================== + 标准环境变量 +[INFO] 2026-03-29 10:53:18 - ======================================== +工作目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03 +脚本目录 : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +用户 : yumaojun +主机名 : oldfishmpb-9.local +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03 +HOME : /Users/yumaojun +SHELL : /bin/zsh + +[INFO] 2026-03-29 10:53:18 - ======================================== + 任务参数 (PARAM_*) +[INFO] 2026-03-29 10:53:18 - ======================================== +1 : PARAM_1_VALUE +2 : PARAM_2_VALUE + +[INFO] 2026-03-29 10:53:18 - ======================================== + 任务定义 (DEFINE_*) +[INFO] 2026-03-29 10:53:18 - ======================================== + (无任务定义) + +[INFO] 2026-03-29 10:53:18 - ======================================== + 所有环境变量 +[INFO] 2026-03-29 10:53:18 - ======================================== +APPLICATIONINSIGHTS_CONFIGURATION_CONTENT : {} +APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL : 1 +APPLICATION_INSIGHTS_NO_STATSBEAT : true +COMMAND_MODE : unix2003 +COPILOT_OTEL_ENABLED : true +COPILOT_OTEL_EXPORTER_TYPE : file +COPILOT_OTEL_FILE_EXPORTER_PATH : /dev/null +DEBUG_SCRIPT : true +ELECTRON_RUN_AS_NODE : 1 +GOMODCACHE : /Users/yumaojun/go/pkg/mod +GOPATH : /Users/yumaojun/go +GOPROXY : https://goproxy.cn,direct +GOTELEMETRY_GOPLS_CLIENT_START_TIME : 1706263009 +GOTELEMETRY_GOPLS_CLIENT_TOKEN : 92 +HOME : /Users/yumaojun +HOMEBREW_CELLAR : /opt/homebrew/Cellar +HOMEBREW_PREFIX : /opt/homebrew +HOMEBREW_REPOSITORY : /opt/homebrew +HTTPS_PROXY : http://localhost:8001 +HTTP_PROXY : http://localhost:8001 +INFOPATH : /opt/homebrew/share/info: +JAVA_HOME : /Users/yumaojun/.sdkman/candidates/java/current +LANG : C.UTF-8 +LESS : -R +LOGNAME : yumaojun +LSCOLORS : Gxfxcxdxbxegedabagacad +LS_COLORS : di=1;36:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43 +MACH_PORT_RENDEZVOUS_PEER_VALDATION : 0 +MAVEN_HOME : /Users/yumaojun/.sdkman/candidates/maven/current +MallocNanoZone : 0 +NODE_TLS_REJECT_UNAUTHORIZED : undefined +OSLogRateLimit : 64 +OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT : true +OTEL_SERVICE_NAME : devops_agent +OUTPUT_ENV_FILE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03/output.env +PAGER : less +PARAM_1 : PARAM_1_VALUE +PARAM_2 : PARAM_2_VALUE +PATH : /usr/local/go/bin:/Users/yumaojun/.sdkman/candidates/maven/current/bin:/Users/yumaojun/.sdkman/candi... (truncated) +PWD : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03 +RUSTUP_DIST_SERVER : https://rsproxy.cn +RUSTUP_UPDATE_ROOT : https://rsproxy.cn/rustup +SCRIPT_DIR : /Users/yumaojun/Projects/go-course/go20/devops/agent/shells +SDKMAN_CANDIDATES_API : https://api.sdkman.io/2 +SDKMAN_CANDIDATES_DIR : /Users/yumaojun/.sdkman/candidates +SDKMAN_DIR : /Users/yumaojun/.sdkman +SDKMAN_PLATFORM : darwinarm64 +SHELL : /bin/zsh +SHLVL : 2 +SSH_AUTH_SOCK : /private/tmp/com.apple.launchd.lh9fi1XbLE/Listeners +TMPDIR : /var/folders/51/dnfr1hzd53x03k3fxnnyd4qc0000gn/T/ +USER : yumaojun +VSCEXT_ENABLE_PYTHON_BEST_EFFORTS_INSTALLATION : false +VSCEXT_MATCH_MANIFEST_VERSIONS : true +VSCEXT_PROXY_URL : http://localhost:8001 +VSCEXT_STACK_ANALYSIS_COMMAND : rhda.stackAnalysis +VSCEXT_TELEMETRY_ID : 5d2072f3-115e-4c18-a6a6-c1ab0dbc96c6 +VSCEXT_TRACK_RECOMMENDATION_ACCEPTANCE_COMMAND : rhda.trackRecommendationAcceptance +VSCEXT_TRUSTIFY_DA_BACKEND_URL : https://rhda.rhcloud.com +VSCEXT_TRUSTIFY_DA_DOCKER_PATH : docker +VSCEXT_TRUSTIFY_DA_GO_PATH : go +VSCEXT_TRUSTIFY_DA_GRADLE_PATH : gradle +VSCEXT_TRUSTIFY_DA_IMAGE_PLATFORM : +VSCEXT_TRUSTIFY_DA_MVN_ARGS : [] +VSCEXT_TRUSTIFY_DA_MVN_PATH : mvn +VSCEXT_TRUSTIFY_DA_NPM_PATH : npm +VSCEXT_TRUSTIFY_DA_PIP3_PATH : pip3 +VSCEXT_TRUSTIFY_DA_PIP_PATH : pip +VSCEXT_TRUSTIFY_DA_PNPM_PATH : pnpm +VSCEXT_TRUSTIFY_DA_PODMAN_PATH : podman +VSCEXT_TRUSTIFY_DA_PREFER_GRADLEW : true +VSCEXT_TRUSTIFY_DA_PREFER_MVNW : true +VSCEXT_TRUSTIFY_DA_PYTHON3_PATH : python3 +VSCEXT_TRUSTIFY_DA_PYTHON_PATH : python +VSCEXT_TRUSTIFY_DA_SKOPEO_CONFIG_PATH : +VSCEXT_TRUSTIFY_DA_SKOPEO_PATH : skopeo +VSCEXT_TRUSTIFY_DA_SYFT_CONFIG_PATH : +VSCEXT_TRUSTIFY_DA_SYFT_PATH : syft +VSCEXT_TRUSTIFY_DA_YARN_PATH : yarn +VSCEXT_USE_GO_MVS : false +VSCEXT_USE_PIP_DEP_TREE : false +VSCEXT_USE_PYTHON_VIRTUAL_ENVIRONMENT : false +VSCEXT_UTM_SOURCE : vscode +VSCEXT_VULNERABILITY_ALERT_SEVERITY : Error +VSCODE_CODE_CACHE_PATH : /Users/yumaojun/Library/Application Support/Code/CachedData/cfbea10c5ffb233ea9177d34726e6056e89913dc +VSCODE_CRASH_REPORTER_PROCESS_TYPE : extensionHost +VSCODE_CWD : / +VSCODE_DOTNET_INSTALL_TOOL_ORIGINAL_HOME : /Users/yumaojun +VSCODE_ESM_ENTRYPOINT : vs/workbench/api/node/extensionHostProcess +VSCODE_HANDLES_UNCAUGHT_ERRORS : true +VSCODE_IPC_HOOK : /Users/yumaojun/Library/Application Support/Code/1.11-main.sock +VSCODE_L10N_BUNDLE_LOCATION : file:///Users/yumaojun/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.110.2026032812/tr... (truncated) +VSCODE_NLS_CONFIG : {"userLocale":"zh-cn","osLocale":"zh-cn","resolvedLanguage":"zh-cn","defaultMessagesFile":"/Applicat... (truncated) +VSCODE_PID : 33000 +WORKSPACE : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03 +XPC_FLAGS : 0x0 +XPC_SERVICE_NAME : 0 +ZSH : /Users/yumaojun/.oh-my-zsh +_ : /usr/bin/env +__CFBundleIdentifier : com.microsoft.VSCode +__CF_USER_TEXT_ENCODING : 0x1F5:0x19:0x34 +http_proxy : http://localhost:8001 +https_proxy : http://localhost:8001 +workspaceFolder : /Users/yumaojun/Projects/go-course/go20/devops + +[INFO] 2026-03-29 10:53:18 - ======================================== + 系统信息 +[INFO] 2026-03-29 10:53:18 - ======================================== +操作系统 : Darwin +内核版本 : 25.3.0 +架构 : arm64 +磁盘使用 : 529Gi/1.8Ti (29% used) +CPU 核心数 : unknown +当前时间 : 2026-03-29 10:53:18 CST + +[INFO] 2026-03-29 10:53:18 - ======================================== + 工作目录内容 +[INFO] 2026-03-29 10:53:18 - ======================================== +工作目录路径 : /Users/yumaojun/Projects/go-course/go20/devops/agent/workspace/task-03 + +文件列表: + -rwxr-xr-x 1 yumaojun staff 893B Mar 29 10:53 debug.sh + -rw-r--r-- 1 yumaojun staff 0B Mar 29 10:53 output.env + -rw-r--r-- 1 yumaojun staff 8.5K Mar 29 10:53 stdout.txt + +[INFO] 2026-03-29 10:53:18 - ======================================== + 网络信息 +[INFO] 2026-03-29 10:53:18 - ======================================== +IP 地址: + inet 127.0.0.1 netmask 0xff000000 + inet6 ::1 prefixlen 128 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 + inet6 fe80::1cf1:3bff:a208:e4d5%en0 prefixlen 64 secured scopeid 0xe + inet 192.168.10.176 netmask 0xffffff00 broadcast 192.168.10.255 + inet6 2409:8a55:2e7a:bd51:cc4:f906:aef0:ae3c prefixlen 64 autoconf secured + inet6 2409:8a55:2e7a:bd51:5c38:67f9:2431:70e1 prefixlen 64 autoconf temporary + inet6 2409:8a55:2e7a:bd51::7a3 prefixlen 64 dynamic + inet6 fe80::e076:f5ff:fe6c:bb23%awdl0 prefixlen 64 scopeid 0x10 + inet6 fe80::e076:f5ff:fe6c:bb23%llw0 prefixlen 64 scopeid 0x11 + inet6 fe80::2aaa:254b:5496:fcd7%utun0 prefixlen 64 scopeid 0x12 + inet6 fe80::3a94:3e19:56f2:7729%utun1 prefixlen 64 scopeid 0x13 + inet6 fe80::3a73:5c32:f0b4:764c%utun2 prefixlen 64 scopeid 0x14 + inet6 fe80::ce81:b1c:bd2c:69e%utun3 prefixlen 64 scopeid 0x15 + +[INFO] 2026-03-29 10:53:18 - ======================================== + Docker 信息 +[INFO] 2026-03-29 10:53:18 - ======================================== +Docker 版本 : 29.2.1 +运行中的容器 : 2 +总容器数 : 18 +镜像数量 : 44 + +[INFO] 2026-03-29 10:53:18 - ======================================== + 进程信息 +[INFO] 2026-03-29 10:53:18 - ======================================== +当前进程 PID : 58771 +父进程 PID : 58766 + +当前进程树: + +[INFO] 2026-03-29 10:53:18 - ======================================== + 环境变量统计 +[INFO] 2026-03-29 10:53:18 - ======================================== +总环境变量数 : 104 +任务参数数 (PARAM_*) : 2 +任务定义数 (DEFINE_*) : 0 +0 +任务信息数 (TASK_*) : 0 +0 + +[INFO] 2026-03-29 10:53:18 - ======================================== +[SUCCESS] 2026-03-29 10:53:18 - 任务调试信息输出完成 + +=== Execution Finished === +Time: 2026-03-29 10:53:18 +Duration: 373.839708ms +Success: true +ExitCode: 0 +Error: diff --git a/devops/docs/agent.drawio b/devops/docs/agent.drawio index 272f230..6320ef4 100644 --- a/devops/docs/agent.drawio +++ b/devops/docs/agent.drawio @@ -1,78 +1,126 @@ - + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devops/go.mod b/devops/go.mod index 9b1d894..6698660 100644 --- a/devops/go.mod +++ b/devops/go.mod @@ -3,6 +3,7 @@ module devops go 1.25.6 require ( + github.com/emicklei/go-restful-openapi/v2 v2.11.0 github.com/emicklei/go-restful/v3 v3.13.0 github.com/google/uuid v1.6.0 github.com/infraboard/mcube v1.9.29 @@ -17,7 +18,6 @@ require ( github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/emicklei/go-restful-openapi/v2 v2.11.0 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/jsonpointer v0.21.0 // indirect diff --git a/devops/proxy/README.md b/devops/proxy/README.md new file mode 100644 index 0000000..e91c295 --- /dev/null +++ b/devops/proxy/README.md @@ -0,0 +1,3 @@ +# DevOps代理 + +1. k8s 代理(k8s-proxy) \ No newline at end of file