管理服务连接
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
可以创建从 Azure Pipelines 到外部和远程服务的连接,以便在作业中执行任务。 建立连接后,可以查看、编辑服务连接以及向服务连接添加安全性。
例如,你可能想要连接到以下其中一个类别及其服务。
- Microsoft Azure 订阅:使用 Microsoft Azure 订阅创建服务连接,并在发布管道中的 Azure 网站部署任务中使用服务连接的名称。
- 不同的生成服务器或文件服务器:创建与 GitHub 存储库的标准 GitHub Enterprise Server 服务连接。
- 联机持续集成环境:为 Git 存储库的持续集成创建 Jenkins 服务连接。
- 远程计算机上安装的服务:使用托管服务标识创建与 VM 的 Azure 资源管理器 服务连接。
提示
Azure 资源管理器服务连接是服务连接的一个示例。 有关详细信息,请参阅常见服务连接类型。
先决条件
可以根据分配的用户角色创建、查看、使用和管理服务连接。 有关详细信息,请参阅用户权限。
创建服务连接
完成以下步骤以为 Azure Pipelines 创建服务连接。
登录到你的组织 (
https://dev.azure.com/{yourorganization}
) 并选择你的项目。依次选择“项目设置”、“服务连接”。
选择“+ 新建服务连接”,选择所需的服务连接类型,然后选择“下一步”。
选择身份验证方法,然后选择“下一步”。
输入服务连接的参数。 各个类型的服务连接的参数列表有所不同。 有关详细信息,请参阅服务连接类型和相关参数列表。
选择“保存”,创建连接。
创建连接并输入参数后,验证该连接。 验证链接使用输入的信息对外部服务进行 REST 调用,并指示调用是否成功。
注意
对于各种类型的服务连接,新的服务连接窗口可能看上去不同,并且具有不同的参数。 有关每种服务连接类型,请参阅常见服务连接类型中的参数列表。
编辑服务连接
完成以下步骤以编辑服务连接。
登录到你的组织 (
https://dev.azure.com/{yourorganization}
) 并选择你的项目。依次选择“项目设置”、“服务连接”。
选择要编辑的服务连接。
请参阅服务连接的“概述”选项卡,可在其中查看服务连接的详细信息。 例如,可以看到类型、创建者和身份验证类型等详细信息。 例如,令牌、用户名/密码或 OAuth 等。
在“概述”选项卡旁边,可以看到“使用情况历史记录”,其中显示了正在使用服务连接的管道列表。
若要更新服务连接,请选择“编辑”。 “审批和检查”、“安全”和“删除”是右上角“更多选项”的一部分。
保护服务连接
完成以下步骤以管理服务连接的安全性。
登录到你的组织 (
https://dev.azure.com/{yourorganization}
) 并选择你的项目。依次选择“项目设置”、“服务连接”。
突出显示要编辑的服务连接。
转到右上角的“更多选项”,然后选择“安全性”。
根据使用模式,服务连接安全性分为以下类别。 根据需要编辑权限。
用户权限
控制谁可以使用用户角色创建、查看、使用和管理服务连接。 在“项目设置”>“服务连接”中,可以设置中心级别的权限,这些权限是可继承的。 还可以替代每个服务连接的角色。
服务连接上的角色 | 用途 |
---|---|
创建者 | 此角色的成员可以在项目中创建服务连接。 默认情况下,参与者添加为成员 |
读者 | 此角色的成员可以查看服务连接。 |
用户 | 此角色的成员在创作生成或发布管道或授权 yaml 管道时可以使用服务连接。 |
管理员 | 此角色的成员可以使用服务连接,并管理项目服务连接的所有其他角色的成员身份。 默认情况下,项目管理员添加为成员。 |
注意
以前,终结点创建者和终结点管理员组用于控制谁可以创建和管理服务连接。 我们已迁移到使用角色的纯 RBAC 模型。 为了在现有项目中实现向后兼容性,终结点管理员组现在是管理员角色,终结点创建者组是创建者角色,这可确保现有服务连接的行为不会发生更改。
我们还介绍了跨项目共享服务连接。 使用此功能后,服务连接现在将成为组织级别的对象,但默认情况下范围限定为当前项目。 在“用户权限”中,可以看到“项目”和“组织”级别的权限。 管理员角色的功能在两个权限级别之间拆分。
项目级别的权限
项目级别的权限是在项目范围内具有读取者、用户、创建者和管理员角色的用户权限,如上所述。 你有继承的权限,可以在中心级别和每个服务连接中设置角色。
项目级别的管理员可以执行以下任务:
- 在项目级别管理其他用户和角色
- 重命名服务连接并更新说明
- 删除服务连接,这会将其从项目中移除
创建服务连接的用户将自动添加到该服务连接的管理员角色。 如果启用继承,则会继承在中心级别分配有管理员角色的用户和组。
组织级别的权限
在组织级别设置的任何权限都会反映在共享服务连接的所有项目中。 组织级别的权限不会继承。
组织级别的管理员可以执行以下管理任务:
- 管理组织级别的用户
- 编辑服务连接的所有字段
- 与其他项目共享和取消共享服务连接
创建服务连接的用户将自动添加为该服务连接的组织级别管理员角色。 在所有现有服务连接中,连接管理员都会成为组织级别的管理员。
管道权限
管道权限控制哪些 YAML 管道有权使用服务连接。 管道权限不限制从经典管道进行访问。
可从以下选项中进行选择:
打开所有管道的访问权限,以便从服务连接的“安全性”选项卡的“管道权限”部分右上角的“更多选项”使用服务连接。
锁定服务连接,仅允许选定的 YAML 管道使用服务连接。 如果任何其他 YAML 管道引用服务连接,则会引发授权请求,该请求必须由服务连接管理员批准。 这不会限制从经典管道进行访问。
项目权限 - 跨项目共享服务连接
项目权限控制哪些项目可以使用服务连接。 默认情况下,服务连接不会与任何其他项目共享。
- 只有“用户权限”中的组织级别管理员可以与其他项目共享服务连接。
- 与项目共享服务连接的用户至少应在目标项目中具有“创建服务连接”权限。
- 与项目共享服务连接的用户将成为该服务连接的项目级别管理员。 在目标项目中,项目级别的继承设置为“开”。
- 服务连接名称追加在项目名称之后,并且可以在目标项目范围内重命名。
- 组织级别管理员可以从任何共享项目取消共享服务连接。
注意
项目权限功能依赖于新的服务连接 UI。 启用此功能后,旧的服务连接 UI 将不再可用。
使用服务连接
创建服务连接后,请完成以下步骤以使用服务连接。
- 使用以下方法之一授权服务连接:
若要授权任何管道使用服务连接,请转到 Azure Pipelines,打开“设置”页,选择“服务连接”,然后针对该连接启用“允许所有管道使用此连接”设置选项。
若要授权特定管道使用服务连接,请选择“编辑”打开管道并手动将生成排入队列。 你将看到资源授权错误和针对该错误的“授权资源”操作。 选择此操作,以将管道显式添加为服务连接的授权用户。
你也可以创建自己的自定义服务连接。
常见服务连接类型
默认情况下,Azure Pipelines 支持以下服务连接类型:
Azure 经典 | Azure Repos/TFS | Azure Resource Manager | Azure 服务总线 | Bitbucket | Cargo | Chef | Azure 容器注册表 | Docker Hub 或其他 | 其他 Git | 通用 | GitHub | GitHub Enterprise Server | Jenkins | Kubernetes | Maven | npm | NuGet | Python 包下载 | Python 包上传 | Service Fabric | SSH | Subversion | Visual Studio 应用中心 |
Azure 经典服务连接
使用以下参数,使用 Azure 凭据或 Azure 管理证书定义和保护与 Microsoft Azure 订阅的连接。
参数 | 说明 |
---|---|
[身份验证类型] | 必需。 选择“凭据”或“基于证书”。 |
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
环境 | 必需。 在定义订阅时,选择“Azure 云”、“Azure Stack”或其中一个预定义的 Azure 政府云。 |
订阅 ID | 必需。 Azure 订阅的类似于 GUID 的标识符(不是订阅名称)。 可以从 Azure 门户复制订阅 ID。 |
订阅名称 | 必需。 Microsoft Azure 订阅的名称。 |
用户名 | 凭据身份验证所必需的。 工作或学校帐户的用户名(例如 @fabrikam.com)。 不支持 Microsoft 帐户(例如 @live 或 @hotmail)。 |
密码 | 凭据身份验证所必需的。 上面指定的用户的密码。 |
管理证书 | 基于证书身份验证所必需的。 从发布设置 XML 文件或 Azure 门户复制管理证书密钥的值。 |
如果在 Azure 政府云中定义了订阅,请确保应用程序在配置服务连接之前满足相关的合规性要求。
Azure Repos
使用以下参数定义和保护与另一个 Azure DevOps 组织的连接。
参数 | 说明 |
---|---|
(身份验证) | 选择“基本”或“基于令牌”身份验证。 |
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 这不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
连接 URL | 必需。 TFS 或其他 Azure DevOps 组织的 URL。 |
用户名 | 基本身份验证所必需的。 要连接到服务的用户名。 |
密码 | 基本身份验证所必需的。 指定用户名的密码。 |
个人访问令牌 | 基于令牌身份验证所必需的(仅限 TFS 2017 及更新版本和 Azure Pipelines)。 用于向服务进行身份验证的令牌。 了解详细信息。 |
使用“验证连接”链接验证连接信息。
有关详细信息,请参阅使用 Azure DevOps 的个人访问令牌对访问进行身份验证。
Azure 资源管理器服务连接
使用以下参数通过服务主体身份验证 (SPA) 或 Azure 托管服务标识来定义和保护与 Microsoft Azure 订阅的连接。 该对话框提供了两种主模式:
- 自动订阅检测。 在此模式下,Azure Pipelines 会查询 Azure 中你有权访问的所有订阅和实例。 它们会使用你当前在 Azure Pipelines 中登录时使用的凭据(包括 Microsoft 帐户和学校或工作帐户)。
如果未找到要使用的订阅,请注销 Azure Pipelines,然后使用相应的帐户凭据重新登录。
- 手动订阅管道。 在此模式下,必须指定要用于连接到 Azure 的服务主体。 服务主体指定通过连接可用的资源和访问级别。
如果需要使用不同于你当前在 Azure Pipelines 中使用的登录凭据连接到 Azure 帐户,可使用此方法。 这是安全性和限制访问权限最大化的有效方法。 服务主体有效期为两年。
有关详细信息,请参阅连接到 Microsoft Azure
注意
如果看不到任何 Azure 订阅或实例,或在验证连接时出现问题,请参阅排查 Azure 资源管理器服务连接问题。
Azure 服务总线服务连接
使用以下参数定义和保护与 Microsoft Azure 服务总线队列的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 此名称不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
服务总线连接字符串 | Azure 服务总线实例的 URL。 详细信息。 |
服务总线队列名称 | 现有 Azure 服务总线队列的名称。 |
Bitbucket 云服务连接
将 OAuth 与授予授权结合使用或者将用户名和密码与基本身份验证结合使用,以定义与 Bitbucket 云的连接。 若要使管道正常工作,存储库访问必须保持活动状态。
授予权限
参数 | 说明 |
---|---|
OAuth 配置 | 必需。 与 Bitbucket 的 OAuth 连接。 |
基本身份验证
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
用户名 | 必需。 要连接到服务的用户名。 |
密码 | 必需。 指定用户名的密码。 |
Cargo 服务连接
使用以下参数定义和保护与 Cargo 项目存储库的连接。
参数 | 说明 |
---|---|
身份验证方法 | 选择项目存储库的身份验证方法:基本用户名/密码(包括 Azure DevOps PAT)或授权值(包括 crates.io 令牌)。 |
存储库 URL | 存储库的 URL。 对于 crates.io,请使用 https://crates.io |
用户名 | 用于连接到终结点的用户名。 如果使用个人访问令牌或授权值身份验证方法,则该值可以是任意值。 |
密码 | 用于连接到终结点的密码。 个人访问令牌适用于 Azure DevOps Services 组织。 |
服务连接名称 | 服务连接的名称 |
说明 | 服务连接的可选说明 |
Chef 服务连接
使用以下参数定义和保护与 Chef 自动化服务器的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
服务器 URL | 必需。 Chef 自动化服务器的 URL。 |
节点名称(用户名) | 必需。 要连接到的节点的名称。 通常,这是你的用户名。 |
客户端密钥 | 必需。 Chef .pem 文件中指定的密钥。 |
Docker 主机服务连接
使用以下参数定义和保护与 Docker 主机的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
服务器 URL | 必需。 Docker 主机的 URL。 |
CA 证书 | 必需。 用于向主机进行身份验证的受信任的证书颁发机构证书。 |
证书 | 必需。 用于向主机进行身份验证的客户端证书。 |
密钥 | 必需。 Docker key.pem 文件中指定的密钥。 |
有关保护与 Docker 主机的连接的详细信息,请参阅保护 Docker 守护程序套接字。
Docker 注册表服务连接
使用以下参数为 Azure 容器注册表或 Docker Hub 或其他定义与容器注册表的连接。
Azure 容器注册表
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务输入中引用此服务连接时使用的名称。 |
Azure 订阅 | 必需。 包含要用于创建服务连接的容器注册表的 Azure 订阅。 |
Azure 容器注册表 | 必需。 用于创建服务连接的 Azure 容器注册表。 |
Docker Hub 或其他
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务输入中引用此服务连接时使用的名称。 |
Docker 注册表 | 必需。 Docker 注册表的 URL。 |
Docker ID | 必需。 Docker 帐户用户的标识符。 |
密码 | 必需。 上面标识的帐户用户的密码。 (Docker Hub 需要 PAT 而不是密码。) |
电子邮件 | 可选。 要用于接收通知的电子邮件地址。 |
“其他 Git”服务连接
使用以下参数定义和保护与外部 Git 存储库服务器的连接。 GitHub 和 GitHub Enterprise Server 有特定的服务连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
服务器 URL | 必需。 Git 存储库服务器的 URL。 |
尝试从 Azure Pipelines 访问此 Git 服务器 | 选中后,Azure Pipelines 会尝试在将管道运行排入队列之前连接到存储库。 可以禁用此设置,以在使用不可公开访问的存储库时提高性能。 请注意,当“其他 Git”存储库不可公开访问时,CI 触发器将不起作用。 只能启动手动或计划的管道运行。 |
用户名 | 必需。 用于连接到 Git 存储库服务器的用户名。 |
密码/令牌密钥 | 必需。 指定用户名的密码或访问令牌。 |
有关详细信息,请参阅项目源。
通用服务连接
使用以下参数定义和保护与任何通用类型的服务或应用程序的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
服务器 URL | 必需。 服务的 URL。 |
用户名 | 可选。 要连接到服务的用户名。 |
密码/令牌密钥 | 可选。 指定用户名的密码或访问令牌。 |
GitHub 服务连接
使用以下参数定义与 GitHub 存储库的连接。
提示
其他 Git 服务器和 GitHub Enterprise Server 连接有特定的服务连接。
参数 | 说明 |
---|---|
选择授权 | 必需。 “授予授权”或“个人访问令牌”。 请参阅下面的注释。 |
标记 | 个人访问令牌授权所必需的。 请参阅下面的注释。 |
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
注意
如果为“选择授权”选项选择“授予授权”,对话框将显示一个“授权”按钮,用于打开 GitHub 签名页。 如果选择“个人访问令牌”,请将其粘贴到“令牌”文本框中。 此对话框显示令牌的建议范围:repo、user、admin:repo_hook。 有关详细信息,请参阅创建供命令行使用的访问令牌。然后,完成以下步骤以在你的配置文件中注册 GitHub 帐户。
- 从 Azure Pipelines 页面标题右侧的帐户名称打开你的“用户设置”。
- 选择“个人访问令牌”。
- 选择“添加”,然后输入创建令牌所需的信息。
有关详细信息,请参阅项目源 - 版本控制。
GitHub Enterprise Server 服务连接
使用以下参数定义与 GitHub 存储库的连接。
提示
其他 Git 服务器和 标准 GitHub 服务连接有特定的服务连接。
参数 | 说明 |
---|---|
选择授权 | 必需。 个人访问令牌、用户名和密码或 OAuth2。 请参阅下面的注释。 |
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 这不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
服务器 URL | 必需。 服务的 URL。 |
接受不信任的 TLS/SSL 证书 | 设置此选项以允许客户端接受自签名证书,而不是在 TFS 服务角色或托管代理的计算机中安装证书。 |
标记 | 个人访问令牌授权所必需的。 请参阅下面的注释。 |
用户名 | 用户名和密码身份验证所必需的。 要连接到服务的用户名。 |
密码 | 用户名和密码身份验证所必需的。 指定用户名的密码。 |
OAuth 配置 | OAuth2 授权所必需的。 在帐户中指定的 OAuth 配置。 |
GitHub Enterprise Server 配置 URL | URL 是从 OAuth 配置中提取的。 |
注意
如果选择“个人访问令牌”(PAT),则必须将 PAT 粘贴到“令牌”文本框中。 此对话框显示令牌的建议范围:repo、user、admin:repo_hook。 有关详细信息,请参阅创建供命令行使用的访问令牌。然后,完成以下步骤以在你的配置文件中注册 GitHub 帐户。
- 从 Azure Pipelines 页面标题右侧的帐户名称打开你的“用户设置”。
- 选择“个人访问令牌”。
- 选择“添加”,然后输入创建令牌所需的信息。
Jenkins 服务连接
使用以下参数定义与 Jenkins 服务的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
服务器 URL | 必需。 服务的 URL。 |
接受不信任的 TLS/SSL 证书 | 设置此选项以允许客户端接受自签名证书,而不是在 TFS 服务角色或托管代理的计算机中安装证书。 |
用户名 | 必需。 要连接到服务的用户名。 |
密码 | 必需。 指定用户名的密码。 |
有关详细信息,请参阅 Azure Pipelines 与 Jenkins 的集成和项目源 - Jenkins。
Kubernetes 服务连接
使用以下参数定义与 Kubernetes 群集的连接。 从以下服务连接选项进行选择:
- Azure 订阅
- 服务帐户
- Kubeconfig
Azure 订阅选项
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务输入中引用此服务连接时使用的名称。 |
Azure 订阅 | 必需。 包含要用于创建服务连接的群集的 Azure 订阅。 |
群集 | Azure Kubernetes 服务群集的名称。 |
命名空间 | 群集中的命名空间。 |
对于启用了 Azure RBAC 的群集,会在所选命名空间中创建 ServiceAccount,同时创建 RoleBinding 对象,以便创建的 ServiceAccount 只能在所选命名空间上执行操作。
对于禁用了 Azure RBAC 的群集,会在所选命名空间中创建 ServiceAccount,但创建的 ServiceAccount 具有群集范围的特权(跨命名空间)。
注意
此选项列出服务连接创建者有权跨不同 Azure 租户访问的所有订阅。 如果看不到其他 Azure 租户中的订阅,请检查你在这些租户中的 Microsoft Entra 权限。
服务帐户选项
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务输入中引用此服务连接时使用的名称。 |
服务器 URL | 必需。 群集的 API 服务器 URL。 |
机密 | 与要用于部署的服务帐户关联的机密 |
使用以下命令提取服务器 URL。
kubectl config view --minify -o 'jsonpath={.clusters[0].cluster.server}'
使用以下命令序列提取与群集连接和进行身份验证所需的 Secret 对象。
kubectl get serviceAccounts <service-account-name> -n <namespace> -o 'jsonpath={.secrets[*].name}'
在以下命令中,将 service-account-secret-name
替换为上一个命令的输出。
kubectl get secret <service-account-secret-name> -n <namespace> -o json
复制以 YAML 格式提取的 Secret 对象并粘贴到 Secret 文本字段中。
注意
使用服务帐户选项时,请确保存在 RoleBinding,它用于将 edit
ClusterRole
中的权限授予所需的服务帐户。 必须存在此项,Azure Pipelines 才能使用服务帐户在所选命名空间中创建对象。
Kubeconfig 选项
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务输入中引用此服务连接时使用的名称。 |
Kubeconfig | 必需。 kubeconfig 文件的内容。 |
上下文 | 用于标识群集的 kubeconfig 文件中的上下文。 |
Maven 服务连接
使用以下参数定义和保护与 Maven 存储库的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
注册表 URL | 必需。 Maven 存储库的 URL。 |
注册表 ID | 必需。 这是与 Maven 尝试连接到的存储库/镜像的 ID 元素匹配的服务器 ID。 |
用户名 | 当连接类型为“用户名和密码”时是必需的。 用于进行身份验证的用户名。 |
密码 | 当连接类型为“用户名和密码”时是必需的。 对应于用户名的密码。 |
个人访问令牌 | 当连接类型为“身份验证令牌”时是必需的。 用于向服务进行身份验证的令牌。 了解详细信息。 |
npm 服务连接
使用以下参数定义和保护与 npm 服务器的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
注册表 URL | 必需。 npm 服务器的 URL。 |
用户名 | 当连接类型为“用户名和密码”时是必需的。 用于进行身份验证的用户名。 |
密码 | 当连接类型为“用户名和密码”时是必需的。 对应于用户名的密码。 |
个人访问令牌 | 当连接类型为“外部 Azure Pipelines”时是必需的。 用于向服务进行身份验证的令牌。 了解详细信息。 |
NuGet 服务连接
使用以下参数定义和保护与 NuGet 服务器的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
源 URL | 必需。 NuGet 服务器的 URL。 |
ApiKey | 当连接类型为“ApiKey”时是必需的。 身份验证密钥。 |
个人访问令牌 | 当连接类型为“外部 Azure Pipelines”时是必需的。 用于向服务进行身份验证的令牌。 了解详细信息。 |
用户名 | 当连接类型为“基本身份验证”时是必需的。 用于进行身份验证的用户名。 |
密码 | 当连接类型为“基本身份验证”时是必需的。 对应于用户名的密码。 |
若要配置 NuGet,使其向 Azure Artifacts 和其他 NuGet 存储库进行身份验证,请参阅 NuGet 身份验证。
Python 包下载服务连接
使用以下参数定义和保护与 Python 存储库的连接以下载 Python 包。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
用于下载的 Python 存储库 URL | 必需。 Python 存储库的 URL。 |
个人访问令牌 | 当连接类型为“身份验证令牌”时是必需的。 用于向服务进行身份验证的令牌。 了解详细信息。 |
用户名 | 当连接类型为“用户名和密码”时是必需的。 用于进行身份验证的用户名。 |
密码 | 当连接类型为“用户名和密码”时是必需的。 对应于用户名的密码。 |
Python 包上传服务连接
使用以下参数定义和保护与 Python 存储库的连接以上传 Python 包。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
用于上传的 Python 存储库 URL | 必需。 Python 存储库的 URL。 |
EndpointName | 必需。 用于孪生上传的唯一存储库名称。 不允许使用空格和特殊字符。 |
个人访问令牌 | 当连接类型为“身份验证令牌”时是必需的。 用于向服务进行身份验证的令牌。 了解详细信息。 |
用户名 | 当连接类型为“用户名和密码”时是必需的。 用于进行身份验证的用户名。 |
密码 | 当连接类型为“用户名和密码”时是必需的。 对应于用户名的密码。 |
Service Fabric 服务连接
使用以下参数定义和保护与 Service Fabric 群集的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
群集终结点 | 必需。 群集的 TCP 终结点。 |
服务器证书指纹 | 当连接类型是“基于证书”或“Microsoft Entra ID”时是必需的。 |
客户端证书 | 当连接类型为“基于证书”时是必需的。 |
密码 | 当连接类型为“基于证书”时是必需的。 证书密码。 |
用户名 | 当连接类型是“Microsoft Entra ID”时是必需的。 用于进行身份验证的用户名。 |
密码 | 当连接类型是“Microsoft Entra ID”时是必需的。 对应于用户名的密码。 |
使用 Windows 安全性 | 当连接类型为“其他”时是必需的。 |
群集 SPN | 当连接类型为“其他”并使用 Windows 安全性时是必需的。 |
SSH 服务连接
使用以下参数定义和保护使用安全外壳 (SSH) 的与远程主机的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
主机名 | 必需。 远程主机的名称或 IP 地址。 |
端口号 | 必需。 要连接到的远程主机的端口号。 默认端口为 22。 |
用户名 | 必需。 连接到远程主机时要使用的用户名。 |
密码 | 如果使用密钥对作为凭据,则指定用户名的密码。 |
私钥 | 如果使用此类型的身份验证,则是私钥文件的全部内容。 |
有关详细信息,请参阅 SSH 任务和通过 SSH 复制文件。
Subversion 服务连接
使用以下参数定义和保护与 Subversion 存储库的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
服务器存储库 URL | 必需。 存储库的 URL。 |
接受不信任的 TLS/SSL 证书 | 设置此选项以允许客户端接受安装在代理计算机上的自签名证书。 |
领域名称 | 可选。 如果在生成或发布管道中使用多个凭据,请使用此参数指定包含为服务连接指定的凭据的领域。 |
用户名 | 必需。 要连接到服务的用户名。 |
密码 | 必需。 指定用户名的密码。 |
Visual Studio App Center 服务连接
使用以下参数定义和保护与 Visual Studio App Center 的连接。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时使用的名称。 它不是 Azure 帐户或订阅的名称。 如果你正在使用 YAML,请在脚本中使用 azureSubscription 或等效的订阅名称值作为名称。 |
API 令牌 | 必需。 用于向服务进行身份验证的令牌。 有关详细信息,请参阅 API 文档。 |
其他服务连接的扩展
其他服务连接类型和任务可以作为扩展安装。 请参阅以下通过扩展提供的服务连接示例:
Azure Pipelines 的 TFS 项目。 通过 TFS 服务连接和 Team Build(外部)项目部署本地 TFS 生成,即使 TFS 计算机无法直接从 Azure Pipelines 访问。 有关详细信息,请参阅外部 TFS 和此博客文章。
Azure Pipelines 的 TeamCity 项目。 此扩展通过 TeamCity 服务连接提供与 TeamCity 的集成,使 TeamCity 中生成的项目能够使用 Azure Pipelines 进行部署。 有关详细信息,请参阅 TeamCity。
System Center Virtual Machine Manager (SCVMM) 集成。 连接到 SCVMM 服务器以预配虚拟机并对其执行操作,例如管理检查点、启动和停止虚拟机 (VM),以及运行 PowerShell 脚本。
VMware 资源部署. 从 Visual Studio Team Services 或 TFS 连接到 VMware vCenter Server 进行预配。 启动、停止或快照 VMware 虚拟机。
Power Platform Build Tools。 使用 Microsoft Power Platform Build Tools 自动执行与基于 Microsoft Power Platform 构建的应用相关的常见生成和部署任务。 安装该扩展后,Power Platform 服务连接类型具有以下属性。
参数 | 说明 |
---|---|
连接名称 | 必需。 在任务属性中引用此服务连接时将使用的名称。 |
服务器 URL | 必需。 Power Platform 实例的 URL。 示例:https://contoso.crm4.dynamics.com |
租户 ID | 必需。 要向其进行身份验证的租户 ID(在 Azure 门户中也称为目录 ID)。 有关显示租户 ID 并配置应用程序 ID 和关联的客户端密码的脚本,请参阅 https://aka.ms/buildtools-spn。 还必须在 CDS 中创建应用程序用户 |
应用程序 ID | 必需。 进行身份验证要使用的 Azure 应用程序 ID。 |
应用程序 ID 的客户端密码 | 必需。 与上述应用程序 ID 关联的服务主体的客户端密码,用于证明标识。 |
你也可以创建自己的自定义服务连接。
帮助和支持
- 浏览故障排除提示。
- 获取有关 Stack Overflow 的建议。
- 在 Azure DevOps 开发人员社区中发布问题、搜索答案或建议功能。
- 获取 Azure DevOps 支持。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈