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