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 完全相同