我正在使用TFS 2018.我成功创建了一个" Hello World" MVC和SQL Server项目。我能够构建项目并将其发布到目标服务器。
为了确保我正确地关闭了该方法,我创建了第二个" Hello World" MVC项目。我能够成功构建它。唯一的问题是,当我进入"部署组"时,我没有看到任何内容,即使目标服务器已经运行了部署机器。
我认为问题在于我需要共享部署机器。所以我阅读了部署组here的说明:
将部署池和组添加到另一个项目
管理部署池,或添加现有部署池和 它包含在另一个项目中的组,选择“管理”链接 “部署组”页面的“代理池”部分。在部署中 在“池”页面中,选择要部署的项目 组可用,然后保存更改。
导航到目标中的“部署组”页面时 项目,您将看到您添加的部署组,您可以 根据需要分配项目特定的机器标签。
问题是,虽然我有一个"部署组"页面,我没有看到任何"代理池","管理"或部署组"。 (见下面的截图)。
我错过了一些明显的东西吗?这是一个真正适用于VSTS和/或Azure的指令,而不是TFS吗?
总之,为了共享此部署机器,我必须做些什么才能将不同的项目发布到同一台服务器上?
答案 0 :(得分:1)
在收集级别,我们有一个"部署池(类似于代理池)"。 但是,它目前仅适用于VSTS。
您能否告诉我此功能是否将集成到TFS 2018的下一次更新中?当这个更新应该可用时?
我们希望在TFS的下一次更新中获得它。试探性的 TFS 2018更新2 。
此功能似乎将在TFS 2018更新2中出现,详情请参阅此链接:Why are deployment groups project specific?
答案 1 :(得分:0)
TFS 2018 Update 2将提供部署组目标功能的共享。在早期版本中,您可以选择安装多个代理。请注意,多个代理可以并行运行部署,并且可以相互超越共享资源。
答案 2 :(得分:0)
如果无法升级到update 2
,则可以修改注册脚本以使计算机名称动态化:
修改此:
--deploymentgroup --agent $env:COMPUTERNAME --runasservice
与此:
--deploymentgroup --agent $env:COMPUTERNAME-$destFolder --runasservice
$destFolder
基本上使代理名称唯一,从而使您可以在多个部署组中注册同一台计算机。
如果收到消息说
The request was aborted: Could not create SSL/TLS secure channel
在配置之前运行以下命令。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12