背景
我有一个第三方Web服务,其中包含用于安装和卸载工件的方法。在安装和卸载时,都指定了一个名为package-%maven.project.version%.zip的工件。在安装新软件包之前,我需要卸载以前安装的软件包。
解决方案
我找到了这个解决方案,但是由于这是实现连续部署的最后一步,因此我需要自动化的东西而不是提示。
可以通过构建步骤自动化的另一个解决方案是利用TeamCity REST API:
<property name="maven.project.version" value="1.2.3"/>
。问题
有没有比使用TeamCity REST API更简单的方法?
因此,我决定在PowerShell的构建步骤中使用TeamCity REST API从%maven.project.version%
上次成功的构建中检索:
$client = New-Object System.Net.WebClient
$client.Credentials = New-Object System.Net.NetworkCredential $username, $password
$latestBuildUrl = "http://localhost/httpAuth/app/rest/builds/?locator=buildType:Development,count:1,status:SUCCESS"
[xml]$latestBuild = $client.DownloadString($latestBuildUrl)
$latestBuildId = $latestBuild.builds.build.id
$propertiesUrl = "http://localhost/httpAuth/app/rest/builds/id:$latestBuildId/resulting-properties"
[xml]$properties = $client.DownloadString($propertiesUrl)
$mavenProjectVersion = $properties.SelectSingleNode("//property[@name='maven.project.version']").value
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句