如何与 TeamCity 进行历史性持续集成?

发布于 2024-10-30 18:48:41 字数 150 浏览 3 评论 0原文

我刚刚开始使用 CI,我正在尝试在我的代码库上创建一些指标。有没有办法让 TeamCity 从一开始就对 SVN 存储库中的源代码的每个版本运行构建?我只能找到如何从现在开始构建,而不是从 r1 开始。

我还想知道您是否可以构建每个修订版本,而不仅仅是每个投票周期一次。

I'm just getting started with CI, and I'm trying to create some metrics on my codebase. Is there a way to get TeamCity to run the build on each revision of my source in my SVN repository from the beginning? I can only find how to do builds from now on, not from r1.

I'd also like to know if you can build every revision, not just once every polling period.

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

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

发布评论

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

评论(1

落墨 2024-11-06 18:48:41

好的,这是一种方法(不是很简单,但至少可以完成):
例如,如果您的源代码位于 subversion 中,则可以在脚本中使用 svnadmin dump 将修订版逐个修订版传输到新存储库中。

如果您以适当的时间间隔执行此操作,并让 teamcity 监听新存储库中的更改,teamcity 应该为每个修订版触发新的构建。

考虑到这一点,另一个没有转储的理论解决方案是:

  1. 创建构建配置的新副本 (A)
  2. 将其指向存储库中的一个新的空文件夹(假设此处为 svn)
  3. 使用命令行创建另一个构建配置 (B)脚本,每次执行都会从现有存储库中获取下一个修订版本并将其合并到新的空文件夹中。
  4. 将更改触发器添加到您的构建配置副本 A
  5. 将 cron 触发器添加到您的构建配置 B,以适当的时间间隔运行。

我还没有测试过这些,但是嘿,可能会出什么问题呢? ;-)

Ok, here's a way to do it (not very straightforward but it could get it done at least):
If you for instance have your source code in subversion, you could use svnadmin dump in a script to transfer revision by revision into a new repository.

If you do this with an appropriate interval and let teamcity listen to changes in the new repo teamcity should trigger a new build for each revision.

Thinking of it, another theoretical solution without dumps would be to:

  1. Create a new copy of your build config (A)
  2. Point it to a new empty folder in your repo (assuming svn here)
  3. Create another build config (B) with a command line script that for each execution takes the next revision from of your existing repo and merge it into your new empty folder.
  4. Add a change trigger to your build config copy A
  5. Add a cron trigger to your build config B that runs at an appropriate interval.

I haven't tested any of these but hey, what could possibly go wrong? ;-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文