Teamcity 允许设置构建代理的行为。但是,在收到来自 SVN 的所有更新后,我可以在 teamcity 开始与构建代理通信之前以某种方式运行一些命令吗?

最佳答案

不幸的是,您只能在代理上运行的构建中执行命令。
有几种方法可以实现您的目标。

首先(简单,但“脏”):

  • 将您的 .exe 文件放在代理上
  • 使用命令行插入构建步骤,这将在目标构建配置的第一个位置生成 xls。

  • 因此,生成的工作流程将如下所示:
  • 代理接收来自 SVN 的更新数据
  • 您的工具已启动并生成 xls 文件
  • 构建配置继续工作

  • 退税:
  • 您需要在所有代理上维护该工具。

  • 第二个(更复杂,但更稳定)
  • 在与您的工具(例如,托管 TeamCity 本身的服务器)相同的主机上创建新的构建代理(我将其称为 xls-agent )
  • 创建新的构建配置(我将其称为 xls-producer ),只需一步即可启动工具
  • 设置工件发布以发布生成的 xls
  • 将配置 xls-producer 限制为 xls-agent
  • 在目标构建配置中,在 xls-producer 上添加两个依赖项:快照和工件。确保“Get artifacts from”设置为“from the same chain”

  • 因此,生成的工作流程将如下所示:
  • xls-agent 运行 xls-producer 与 svn 修订版 X
  • 目标配置从 xls-producer artifacts
  • 下载 xls
  • 目标配置与 rev X
  • 完全相同

    关于svn - 是否有可能强制 teamcity 在传递必要数据以构建代理之前执行某些命令?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9105360/

    10-13 08:08