2011-07-12 76 views

回答

2

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

+0

我现在尝试添加一些工件路径来将\ bin的内容放在一个单独的目录中(尽管路径比较隐晦)。我如何从外部引用此工件,因此我的用户始终可以通过输入url来下载最新版本? – kasperhj

+0

本周我并不靠近TeamCity服务器,因此我必须进行推测,但我认为您会发现该URL是可预测的,并且将包含用于构建编号的变量。还有一个可用的REST API,可以用来取回你可能会觉得有用的构建信息:http://confluence.jetbrains.net/display/TW/REST+API+Plugin –

0

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

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

+0

怎么办我成立了TC来做到这一点?它可以提供不同版本的列表吗? – kasperhj

+0

@lejon我们可以确认您正在尝试下载的内容。我的印象是你正试图从构建中下载构件,情况如何? – Bronumski

+0

对不起,我不知道什么“文物”反对。 – kasperhj

0

要想从小组城最新成功打造神器,你可以使用下面的链接模板:

  • 以来宾身份验证: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>

0

如上所述,可以使用REST API进行下载。也可以使用FluentTc库用流利的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"); 

下载特定文件:最新成功生成

下载文物

string downloadedFile = connectedTc.DownloadArtifacts(
    buildId, 
    @"C:\DownloadedArtifacts", 
    "binaries.zip");