有没有办法在TeamCity中下载项目的特定版本?
答案 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");