端点是 DevOps 应用程序的实例,它连接到 Automation Pipelines 并为管道运行提供数据,例如数据源、存储库或通知系统。

端点可以基于云或是内部部署。

您在 Automation Pipelines 中的角色决定了您使用端点的方式。

  • 管理员和开发人员可以创建、更新、删除和查看端点。
  • 管理员可以将端点标记为受限制,并运行使用受限制端点的管道。
  • 具有查看者角色的用户可以查看端点,但不能创建、更新或删除端点。

有关详细信息,请参见如何管理 Automation Pipelines 中的用户访问和批准

要将 Automation Pipelines 连接到端点,请执行以下步骤。

  1. 在管道中添加任务
  2. 配置任务,使其与端点进行通信。
  3. 单击验证,验证 Automation Pipelines 是否能连接到端点。
  4. 然后,当您运行管道时,该任务将连接到端点,以便可以运行该任务。

有关使用这些端点的任务类型的信息,请参见Automation Pipelines 中提供哪些类型的任务

表 1. Automation Pipelines 支持的端点
端点 功能 支持的版本 要求
代理 连接内部部署 SSH、PowerShell 或 REST 任务主机。 在创建代理端点之前,必须先创建云代理。
Bamboo 创建生成计划。 6.9.*
Docker 本地构建可以使用 Docker 主机进行部署。

当管道包含 Docker Hub 中的映像时,在运行管道之前必须确保映像中已嵌入了 cURLwget。当管道运行时,Automation Pipelines 会下载使用 cURLwget 运行命令的二进制文件。

Docker 注册表 注册容器映像,以便 Docker 生成主机可以提取映像。 2.7.1
Gerrit 连接到 Gerrit 服务器以进行检查和触发 2.14.*
Git 在开发人员更新代码并将其签入存储库时触发管道。

Git Hub Enterprise 2.1.8

Git Lab Enterprise 11.9.12-ee

Jenkins 生成代码工件。 1.6.* 和 2.*
Jira 创建管道任务失败时的 Jira 票证。 8.3.*
Kubernetes 自动执行部署、扩展和管理容器化应用程序的步骤。

支持的所有版本

在管道工作区中使用 Kubernetes API 端点时,Automation Pipelines 会创建必要的 Kubernetes 资源(如 ConfigMap、密钥和 Pod)以运行持续集成 (CI) 任务或自定义任务。Automation Pipelines 使用 NodePort 与容器进行通信。

有关配置工作区的详细信息,请参见配置管道工作区

PowerShell 创建在 Windows 或 Linux 计算机上运行 PowerShell 脚本的任务。 4 和 5
SSH 创建在 Windows 或 Linux 计算机上运行 SSH 脚本的任务。 7.0
TFS,即 Team Foundation Server 管理源代码、自动生成、测试和相关活动。 2015 和 2017
VMware Aria Automation Orchestrator 安排和自动执行生成过程中的工作流。 7.* 和 8.*

基于云的端点

基于云的端点的一个示例是本地 GitHub 存储库。在使用基于云的存储库的管道任务中,将云代理设置为默认。例如:

云端 Git 端点可以使用默认云代理。

内部部署端点

Automation Pipelines 通过云代理连接到内部部署端点。您的网络配置和这些网络中内部部署端点的位置决定了所需的云代理实例的数量。如果内部部署的所有端点都在同一网络中,请安装单个云代理。如果内部部署端点位于不同的网络中,请针对每个独立网络安装一个云代理。然后,在 Automation Pipelines 中的端点配置中,选择与您的端点位于同一网络中的云代理。

云代理会在内部部署端点和 Automation Pipelines 之间路由消息,并支持从这些端点收集数据。无法通过公共 Internet 访问内部部署端点,因为这些端点驻留在防火墙后面。

要为内部部署端点设置一个云代理,请在 Automation Assembler 中下载云代理 OVA 并将其安装在您的 vCenter 实例中。

需要云代理的内部部署端点示例类似于:

内部部署端点(如 Git)使用您选择的特定云代理。

有关设置云代理的示例,请参见设置 Automation Pipelines 以对发布流程进行建模

示例:GitHub 端点的 YAML 代码

此示例 YAML 代码定义了一个 GitHub 端点,您可以在 Git 任务中引用该端点。

---
name: github-k8s
tags: [
  ]
kind: ENDPOINT
properties:
  serverType: GitHub
  repoURL: https://github.com/autouser/testrepok8s
  branch: master
  userName: autouser
  password: encryptedpassword
  privateToken: ''
description: ''
type: scm:git
isLocked: false
---