从TeamCity下载构建

时间:2011-07-12 12:59:13

标签: teamcity

有没有办法在TeamCity中下载项目的特定版本?

5 个答案:

答案 0 :(得分:7)

您可以使用构建ID,内部版本号或其中一个静态构建标识符:

http://{TeamCity-Server}/repository/download/{BUILD_TYPE_ID}/{BUILD_NUMBER}/{ARTIFACT_PATH}

http://confluence.jetbrains.net/display/TCD65/Patterns+For+Accessing+Build+Artifacts

答案 1 :(得分:2)

您实际要做的是在TeamCity中创建工件。工件通常是构建输出,然后附加到单个构建运行,以便您可以在以后下载和查看它们。有一个步骤,包括在You're deploying it wrong! TeamCity, Subversion & Web Deploy part 5: Web Deploy with TeamCity中创建构建工件。

答案 2 :(得分:0)

我们将从构建生成的.msi文件附加为包含内部版本号的工件(您可以使用%env.BUILD_NUMBER%来查找工件路径)。

答案 3 :(得分:0)

要从Team City获取最新的成功构建工件,您可以使用以下链接模板:

  • 使用访客身份验证: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>

答案 4 :(得分:0)

如上所述,可以使用REST API下载。也可以使用FluentTc库和流畅的api:

下载最新成功构建的工件:

$test_resultados_miniprueba

按构建ID:

从特定构建的工件下载特定文件
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");