是否有办法在TeamCity中下载项目的特定构建?
您可以使用构建id,构建号或静态构建标识符之一:
http://{TeamCity-Server}/repository/download/{BUILD_TYPE_ID}/{BUILD_NUMBER}/{ARTIFACT_PATH}
http://confluence.jetbrains.net/display/TCD65/Patterns + +访问+构建+构件
您实际要做的是在TeamCity中创建工件。工件通常是一个构建输出,然后附加到单独的构建运行中,以便您可以下载并在以后的日期查看它们。这里有一个概览,包括构建工件的创建,您部署错了!TeamCity, Subversion &;Web部署第5部分:使用TeamCity进行Web部署。
我们将构建生成的.msi文件附加为包含构建号的工件(您可以使用%env。BUILD_NUMBER%查找工件路径)。
如上所述,可以使用REST API下载。也可以使用FluentTc库和fluent api:
下载最新成功构建的构件:
IConnectedTc connectedTc = new RemoteTc().Connect(a => a.ToHost("tc")
.AsUser("MYUSERNAME", "MYPASSWORD"))
IBuild lastSuccessfulBuild = connectedTc.GetLastBuild(having =>
having.BuildConfiguration(with => with.Id("FluentTc"))
.Status(BuildStatus.Success));
IList<string> downloadedFiles = connectedTc.DownloadArtifacts(lastSuccessfulBuild.Id,
@"C:DownloadedArtifacts");
通过build Id从特定构建的构件中下载特定文件:
string downloadedFile = connectedTc.DownloadArtifacts(
buildId,
@"C:DownloadedArtifacts",
"binaries.zip");
要从Team City获得最新的成功构建工件,您可以使用以下链接模板:
-
with guest authentication:
http://<buildServer>/guestAuth/downloadArtifacts.html?buildTypeId=<buildTypeId>&buildId=lastSuccessful
-
和您的凭据:
http://<buildServer>/repository/downloadAll/<buildTypeId>/.lastSuccessful/artifacts.zip
-
与特定工件:
http://<buildServer>/httpAuth/repository/download/<buildTypeId>/.lastSuccessful/<some file.ext>