将 Teamcity 中构建的工件聚合到单个 zip

发布于 2024-08-15 08:00:04 字数 722 浏览 7 评论 0原文

目标:设置一个 ant/cmd 脚本,将多个构建的工件打包到一个 zip 中。我计划通过设置最终的构建配置来实现此目的,该配置将依赖于这几个项目。

因此,我的所有构建配置都成功构建,并在构建服务器 @.BuildServer\system\artifacts{PROJECT}{severalconfiguration} 上生成构建工件。在我的“工件聚合”配置中,我需要能够引用这些工件的内容和位置工件正在使用可在我的 ant/cmd 脚本中使用的变量。即我有项目 A,其配置为 w、x 和 y;我如何定义/构造这些配置(w,x,y)的变量,这些变量可以被构建配置z引用。我查看了当前的 Teamcity 文档,即 http://www.jetbrains.net/confluence/display/TCD3/System+Properties+of+a+Build+Configuration#SystemPropertiesofaBuildConfiguration-ref;但我发现这并不能解决我的疑问。

有没有办法可以为配置 w、x 和 y 设置工件路径,以使最终任务更容易?

完成这项任务的最佳方法是什么?欢迎任何想法。

Aim: Set up an ant/cmd script that will package the artifacts from several builds into a single zip. I plan to do this by setting up a final build configuration that will have a dependency on those several projects.

So all my build configurations build successfully and produce build artifacts on the Build Server @.BuildServer\system\artifacts{PROJECT}{several configurations}.. In my "Artifact Aggregating" configuration, I need to be able to reference what and where those artifacts are using variables that can be used in my ant/cmd script. i.e. I have Project A with configurations w, x, and y; how would I define/construct I variables of these configurations(w,x,y) that can be referenced by build configuration z. I looked at current Teamcity documentation i.e. http://www.jetbrains.net/confluence/display/TCD3/System+Properties+of+a+Build+Configuration#SystemPropertiesofaBuildConfiguration-ref; but I find this doesn't resolve my query.

Is there a way I can set up my artifact paths for configurations w, x and y to make the final task easier?

What would be the best way to accomplish this task? Any ideas are welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

脸赞 2024-08-22 08:00:04

我们就是这样做的。

  1. 创建 n+1 配置(ZIP_ALL)并为所有 n 个项目添加依赖项,请参阅 依赖项触发器
  2. 创建网络共享 \\server\Build 来聚合项目的构建结果
  3. 您需要该文件夹的清理策略) - 我们只需删除所有内容,我们的队友使用 SVN rev 名称(TC设置具有修订值的变量)
  4. 对于每个配置创建 msbuild(或 ant 或 rake)脚本,该脚本将构建并压缩(如果需要)构建中的所有输出
  5. 将 zip 文件或完整输出文件夹复制到公共位置(\\server\Build )请参阅 复制任务
  6. 为 ZIP_ALL 配置创建 ant 脚本,仅将所有文件压缩到公共位置
  7. 通过 Artifact 将其发布到 TeamCity出版

This is how we do that.

  1. Create n+1 Configuration(ZIP_ALL) and add dependency for all n projects see Dependency trigger
  2. Create network share \\server\Build for aggregating project's building results
  3. (you need cleanup strategy for that folder) - we simply drop all, our teammates create sub folders with SVN rev name (TC sets variable with revision value)
  4. For each configuration create msbuild(or ant, or rake) script, that will build and zip (if you need) all output from build
  5. Copy zip file or complete Output folder to common location (\\server\Build) see Copy Task
  6. Create ant script for ZIP_ALL configuration that simply zips all files in common location
  7. Publish that to TeamCity via Artifact Publishing
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文