如何在VSTS中成功添加内部部署TeamCity服务端点?

时间:2017-10-02 09:25:58

标签: teamcity azure-devops azure-pipelines-release-pipeline

我正在尝试在VSTS中为SSDT项目创建发布步骤,但是TeamCity中提供了构建工件。为此,我在VSTS中安装了TeamCity artifacts for Release Management扩展名。

在VSTS中安装了上述扩展后,我试图将构建工件链接到发布配置。所以,我尝试配置TeamCity端点并验证与TeamCity的连接。然后我得到了如下截图的错误。

enter image description here

接下来,我尝试在TeamCity的VSTS版本创建中添加构建工件,如下面的屏幕截图所示。但是,下拉列表中没有出现任何项目和构建配置。

enter image description here

那么,有人能告诉我如何尽快解决上述错误吗?

1 个答案:

答案 0 :(得分:3)

您只能通过确保您的TeamCity服务器可以从互联网上寻址来解决该错误消息(例如,具有正确的域名,ssl证书并通过防火墙公开)。这样,VSTS可以向TeamCity服务器查询此处显示的数据。

  • Configure the server URL
  • Configure SSL(VSTS不支持客户端证书身份验证)。
  • 请务必检查Team City Server的安全性,不要轻易暴露,因为Team City代理将能够在您的服务器上执行代码!

但是您不必为了使用端点而这样做。您可以手动输入正确的信息,并且内部运行的代理可以很好地连接到Team City。没有intellisense,没有自动完成和没有验证。

您可以use the VSTS Artefact variables确保其他任务知道存储文件的正确路径。或者,在本地代理上对发布进行排队,并检查代理的工作文件夹以查看文件的放置位置。

或者,您可以让Team City发布到VSTS包管理存储库,以便人工制品可用作VSTS中的人工制品源。不幸的是,包管理没有触发器支持(但是?)。

要列出项目,版本和人工制品,您需要在防火墙/配置中启用以下连接:

[VSTS] --- https ----> [Team City]

让代理人从你所需要的Team City中抽取文物:

[VSTS] <--- https --- [VSTS Agent] --- http(s) ---> [Team City]

如果您的连接是localhost,则表示[VSTS Agent][Team City]必须是同一台计算机。由于代理将执行本地环回连接以连接到Team City。

[VSTS] <--- https --- [VSTS Agent] --- http(s) ---. 
                      [Team City]  <--------------|

VSTS不支持Team City中可用的所有身份验证模式。我想您需要基本身份验证和/或Windows身份验证才能使VSTS能够连接。您不能使用SSL客户端证书。由于VSTS必须信任Team City服务器,因此您还需要适当的SSL证书,并且不能使用自签名证书。

如果您想使用免费证书you can use let's Encrypt to get a free cert for your server