配置管道时,可以添加特定类型的任务,以便管道针对所需操作运行这些任务。每种任务类型都与另一个应用程序集成,并在构建,测试和交付应用程序时启用管道。
要运行管道,无论是必须从存储库中提取工件以进行部署,运行远程脚本还是要求组成员批准用户操作, Code Stream 都具有相应类型的任务!
Code Stream 支持取消各种类型任务上的管道运行。在管道执行上单击取消时,任务、阶段或整个管道将进入取消状态并取消管道运行。
- Jenkins
- SSH
- PowerShell
- 用户操作
- 管道
- 云模板
- vRO
- POLL
Code Stream 不会将取消行为传播到这些任务的第三方系统:CI、自定义集成或 Kubernetes。 Code Stream 将任务标记为已取消并立即停止获取状态,而不会等待任务完成。单击取消时,任务可能会在第三方系统上完成或失败,但会在 Code Stream 中立即停止运行。
在管道中使用任务之前,请确认相应的端点可用。
任务类型 | 作用 | 示例和详细信息 |
---|---|---|
用户操作 | “用户操作”任务启用所需的批准,以控制何时运行管道以及何时必须等待批准。 |
|
条件 | 添加决策点,根据条件表达式确定继续运行或停止管道。条件为 true 时,管道将运行连续任务。条件为 false 时,管道将停止。 |
任务类型 | 作用 | 示例和详细信息 |
---|---|---|
云模板 | 从 GitHub 部署自动化云模板,置备应用程序,并为您的部署自动执行该云模板的持续集成和持续交付 (CICD)。 |
请参见如何自动执行从 Code Stream 中的 YAML 云模板部署的应用程序的发布。 首次选择创建或更新,然后选择云模板和版本后,将显示云模板参数。可以将以下元素(可使用变量绑定)添加到云模板任务中的输入文本区域:
在输入中使用变量绑定时,请注意以下例外。对于枚举,必须从固定集中选择枚举值。对于布尔值,必须在输入文本区域中输入值。 当 Cloud Assembly 中的云模板包含输入变量时,云模板参数将显示在云模板任务中。例如,如果云模板的输入类型为 |
CI | “CI”任务通过从注册表端点中提取 Docker 构建映像并将其部署到 Kubernetes 集群,将代码持续集成到管道中。 CI 任务将日志的 100 行显示为输出,在下载日志时显示 500 行。 CI 任务需要临时端口 32768 到 61000。 |
|
自定义 | “自定义”任务将 Code Stream 与您自己的构建工具、测试工具和部署工具集成。 |
|
Kubernetes | 自动将软件应用程序部署到 Kubernetes 集群。 |
|
管道 | 将管道嵌套在主管道中。嵌套管道时,该管道将作为主管道中的任务。 在主管道的“任务”选项卡上,可以通过单击嵌套管道的链接轻松导航到该管道。将在新的浏览器选项卡中打开嵌套管道。 |
要在执行中查找嵌套管道,请在搜索区域中输入 nested。 |
任务类型... | 作用... | 示例和详细信息... |
---|---|---|
Bamboo | 与 Bamboo 持续集成 (CI) 服务器交互,该服务器持续生成、测试和集成软件,为部署做好准备,并在开发人员提交更改时触发代码生成。它会公开 Bamboo 生成的工件位置,以便任务可以输出用于生成和部署的其他任务的参数。 |
连接到 Bamboo 服务器端点并从管道启动 Bamboo 生成计划。 |
Jenkins | 触发生成和测试源代码的 Jenkins 作业,运行测试用例,并且可以使用自定义脚本。 |
|
TFS | 支持将管道连接到 Team Foundation Server,以便管理和调用生成项目,包括可生成和测试代码的已配置作业。 |
有关 Code Stream 支持的 Team Foundation Server 版本,请参见什么是 Code Stream 中的端点。 |
vRO | 通过在 vRealize Orchestrator 中运行预定义工作流或自定义工作流来扩展 Code Stream 的功能。 Code Stream 对 vRealize Orchestrator 支持基本身份验证和基于令牌的身份验证。 Code Stream 使用 API 令牌对 vRealize Orchestrator 集群进行身份验证和验证。通过基于令牌的身份验证, Code Stream 支持使用云可扩展性代理的 vRealize Orchestrator 端点。因此,在 Code Stream 中,可以通过使用云可扩展性代理的 vRealize Orchestrator 端点触发工作流。 |
任务类型... | 作用... | 示例和详细信息... |
---|---|---|
REST | 将 Code Stream 与其他使用 REST API 的应用程序集成,以便您能够持续开发和交付相互交互的软件应用程序。 |
|
Poll | 调用 REST API,并对其进行轮询,直到管道任务满足退出条件并完成为止。 Code Stream 管理员最多可以将轮询计数设置为 10000。轮询时间间隔必须大于或等于 60 秒。 选中出现故障时继续复选框时,如果计数或时间间隔超过这些值,轮询任务将继续运行。
|
任务类型 | 作用 | 示例和详细信息 |
---|---|---|
PowerShell | 通过 PowerShell 任务, Code Stream 可以在远程主机上运行脚本命令。例如,脚本可以自动执行测试任务,并运行管理类型的命令。 脚本可以是远程脚本,也可以是用户定义的脚本。可以通过 HTTP 或 HTTPS 进行连接,并且可以使用 TLS。 Windows 主机必须配置 winrm 服务, winrm 必须配置 MaxShellsPerUser 和 MaxMemoryPerShellMB。 要运行 PowerShell 任务,您必须具有与远程 Windows 主机的活动会话。 PowerShell 命令行长度 如果输入base64 PowerShell命令,请注意必须计算整体命令长度。 Code Stream 管道对 base64 PowerShell 命令进行编码并包装到另一个命令中,这会增加命令的总长度。 PowerShell winrm 命令允许的最大长度为 8192 字节。对 PowerShell 任务进行编码和包装时,命令长度限制较低。因此,必须在输入 PowerShell 命令之前先计算命令长度。 Code Stream PowerShell 任务的命令长度限制取决于原始命令的 base64 编码长度。命令长度的计算方法如下。
Code Stream 的命令长度必须小于最大限制 (8192)。 |
配置 MaxShellsPerUser 和 MaxMemoryPerShellMB 时:
脚本会将输出写入到其他管道可以使用的响应文件中。 |
SSH | 通过 SSH 任务,Bash shell 脚本任务可以在远程主机上运行脚本命令。例如,脚本可以自动执行测试任务,并运行管理类型的命令。 脚本可以是远程脚本,也可以是用户定义的脚本。可以通过 HTTP 或 HTTPS 进行连接,并且需要私钥或密码。 必须在 Linux 主机上配置 SSH 服务,并且 MaxSessions 的 SSHD 配置必须设置为 50。 如果同时运行多个 SSH 任务,请增加 SSH 主机上的 |
脚本可以是远程脚本,也可以是用户定义的脚本。例如,脚本可能会如下所示: message="Hello World" echo $message 脚本会将输出写入到其他管道可以使用的响应文件中。 |