Shell Activity 用于在 Pipeline 中执行 Workspace 中已有的 Shell 脚本。您可以先在文件开发页编写和调试 .sh 文件,再通过 Pipeline 配置正式运行参数、资源和上下游依赖。
Shell Activity 用于在 Pipeline 中执行 Workspace 中已有的 Shell 脚本。您可以选择脚本文件,配置计算资源、启动参数和环境变量,并通过实例详情检查执行结果。
Shell Activity 暂不提供 SSH 远程执行或 SSH 隧道配置。脚本可以使用的命令由运行镜像决定,网络访问能力由计算资源组提供。
Shell Activity 不支持单独配置解释器。使用 Bash 语法时,请在脚本中保留相应的解释器声明,并确保所选镜像包含 Bash。
.sh 文件,运行身份具有相应权限。.sh 文件。.sh 文件。说明
配置项 | 必填 | 说明 |
|---|---|---|
节点名称 | 是 | 在当前 Pipeline 中唯一,例如 |
描述 | 否 | 说明脚本用途。 |
文件路径 | 是 | 选择 Workspace 中的 .sh 文件。Activity 中不直接编辑内联代码。 |
计算资源组 | 是 | 提供脚本执行资源与网络能力。 |
镜像地址 | 是 | 填写脚本运行所需的镜像地址。镜像中应包含脚本所需的运行时、系统命令和相关依赖。 |
资源配置 | 是 | 按 CU 选择资源规格,1 CU 对应 1 Core、4 GB 内存。可用规格以所选计算资源组为准。 |
启动参数 | 否 | 按顺序配置传给脚本的启动参数,脚本通过 $1、$2 等位置参数依次读取。 |
环境变量 | 否 | 配置脚本需要的环境变量。请勿填写明文密码或密钥。 |
产出数据登记 | 否 | 声明脚本写入的数据集,供数据血缘与运维检索使用。登记不会自动建表或授予权限。更多说明请参见任务产出数据登记。 |
运行策略 | 否 | 配置失败重试、重试间隔、单次执行超时及超时后是否重试。 |
依赖资源 | 否 | 从 Workspace 选择脚本运行所需的依赖文件。 |
说明
正式执行前,请核对文件路径、依赖资源及脚本内使用的路径。当前配置页不提供独立的工作目录配置项。
以下示例为 Activity 基础结构节选,不能直接发布。镜像、计算资源组、资源和参数应通过界面配置,并使用界面生成的完整 YAML。
activities: - name: validate_archive_date type: shell source: WORKSPACE path: /Workspace/Users/demo/scripts/validate_archive_date.sh position: x: "400" y: "100"
下面以脚本 validate_archive_date.sh 使用第一个参数 $1 作为业务日期为例进行说明。
注意
以下示例使用 Bash 语法。配置页不提供解释器选择项,运行前请确认运行镜像中包含 Bash,并支持示例中的语法。
#!/bin/bash set -euo pipefail biz_date="${1:?请传入业务日期,例如 20261013}" if [[ ! "$biz_date" =~ ^[0-9]{8}$ ]]; then printf '业务日期必须为八位数字\n' >&2 exit 1 fi # 在这里添加实际归档逻辑。 printf '日期格式检查通过:%s\n' "$biz_date"
配置参数时请注意:
"$1",避免分词和通配符展开。说明
参数值引用业务日期等变量时,可在文件开发页使用参数预览,检查业务日期和参数转换结果。参数预览不会创建真实调度实例。
容器准备成功后,脚本进程退出码是判断执行结果的重要依据。脚本遇到错误时应返回非零退出码,避免错误被后续成功命令覆盖。
在实例详情页选中该节点,在节点面板的输出页签中查看 output.exit_code、output.stdout 和 output.stderr。标准输出为文本,打印 JSON 不会自动生成独立的业务输出字段。
查看运行日志
问题 | 排查方法 |
|---|---|
| 检查运行镜像中是否包含命令;将系统依赖加入镜像。 |
Bash 语法在运行时报错 | 检查运行镜像是否包含 Bash,以及实际运行时是否兼容脚本语法。 |
文件或相对路径不存在 | 检查工作目录、文件路径及正式运行身份权限。 |
业务失败但节点成功 | 检查脚本是否返回非零退出码;对关键命令显式检查返回值。 |
调试成功但正式运行失败 | 对比镜像、解释器、参数、依赖、网络与运行身份。 |
重试后重复归档或上传 | 为目标命名、写入或外部调用增加幂等处理,避免无条件追加。 |