我很高兴看到TFS Update 2可用于内部部署,并包括Web体验的发布管理功能部分。我们一直在等待这个。
我需要一些关于如何最好地触发发布的帮助。
可以通过3种方式触发发布:
这很棒,但我认为它不符合我的预期。我需要技术解决方案的帮助或我对问题的看法。
我的想法:
我相信Build应该创建一个工件并将工件放在Drop位置,以便现在或一年后发布。 (稍后需要重建或添加服务器)
我觉得持续部署触发器因为它取决于TFS Build中的工件而被破坏,并且TFS Build将根据您的设置被删除。
可能的解决方案:
我相信我需要的解决方案是使用REST Api创建草稿版本,然后在放置位置传递工件的路径。在我的情况下,我只需提供版本号并在发布版本中构建路径。
问题:
此时未记录REST api。
感谢您对我的想法的看法。可能是我以错误的方式思考问题。
此外,如果有人知道如何使用REST api创建一个版本,这可能会让我到达我需要的位置。
我看到REST API将在以下位置记录,但现在还没有。我真的想要开始,我有超过100个应用程序要部署。
答案 0 :(得分:2)
我们还在本地使用TFS 2015 update 2,并使用PowerShell与TFS REST API进行交互。
正如此线程的评论中所述,REST API文档是实时的,并且要创建版本,请参阅以下链接:https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases#create-a-release
要回答您的问题: - 要使用PowerShell脚本创建版本,请尝试以下操作:
$filePath = "C:\PATH_TO_JSON"
$username = 'DOMAIN\USRNAME'
$password = 'PASSWORD'
$body = Get-Content $filePath
$resource = "http://TFS_URL/_apis/release/releases`?api-version=2.2-preview.1"
$cred = New-Object System.Management.Automation.PSCredential($username, (ConvertTo-SecureString -String $password -AsPlainText -Force))
Invoke-RestMethod -Method Post -Uri "$resource" -Credential $cred -ContentType "application/json" -Body $body
$ filePath 变量应指向包含以下JSON标记的文件。请务必更改示例JSON中的变量以适合您的本地发行版定义:
{
"definitionId": 12,
"description": "M 98 release",
"artifacts": [
{
"alias": "Fabrikam.CI",
"instanceReference": {
"id": "90"
}
}
]
}
您还可以使用JavaScript与TFS REST API进行交互。请参阅@Elmar的帖子:TFS 2015 REST API Authentication
答案 1 :(得分:1)
VSTS的发布管理API文档是实时here。大多数API也适用于TFS 2015.2。
要创建新版本,请参阅我的earlier answer。
答案 2 :(得分:0)
答案 3 :(得分:-1)
ReleaseManagement REST API已在
公开https://www.visualstudio.com/integrate/api/rm/releases#Createarelease。请看一看。创建发布时,会在工件中传递三件事: - 别名,instanceReference(名称和ID)。