安装 Agent Tools
在 TeamCity 中, agent tool 是一种仅用于分发文件至 构建代理 的插件类型。 代理工具可以是一组文件或二进制分发。 它的类并未加载到运行时中。
TeamCity 允许您在服务器上安装 / 删除额外的工具,并根据需求将它们分发到构建代理。
在有许多构建代理的环境中,您可以集中分发配置文件(例如,如果您要将自定义配置文件 / 库分发给所有需要的代理),或者一次性在代理上删除工具。
管理 | 工具 页面提供了一个统一的界面,用于设置适合的插件所需的工具。 您可以安装工具的不同版本,并/或更改默认版本。 工具将自动分发给请求它们的构建代理,并在相关的运行程序中使用。
可以通过 管理 | 工具 页面管理以下类型的工具:
IntelliJ 检查和重复项引擎 与 TeamCity 在服务器首次启动后自动下载并安装的 IntelliJ IDEA 版本一起使用。 如果 TeamCity 无法下载并安装 IntelliJ IDEA:
转到 管理 | 工具。
滚动到 IntelliJ 检查和重复项引擎 部分并单击 安装版本...。
选择 上传 模式并单击 选择文件 以上传您的工具。
JetBrains dotCover 命令行工具 使用捆绑版本作为默认设置。 用于收集您的 .NET 项目的代码覆盖率。
JetBrains ReSharper 命令行工具 :默认情况下,这些工具与 TeamCity 捆绑在一起,并由 Inspections (.NET)、Duplicates Finder (.NET) 构建运行器用于运行代码分析。
Maven :显示了多个捆绑版本,其中 3.6.3 被设置为默认版本。
NuGet.exe 用于 NuGet 特定的构建步骤和 NuGet Dependency Trigger。 NuGet 包(
.nupkg
文件)支持内含tools/NuGet.exe
文件。NUnit 3 :可以安装不同的版本,并设置/更改默认版本。
Sysinternals handle.exe 用于确定在 Windows 代理上的签出目录中占用文件的进程。
Sysinternals psexec.exe 是从 Windows 服务器通过 Agent push 将 TeamCity 代理安装到 Windows 主机所需的。
您还可以上传 您自己的工具作为
.zip
、.tar
或.tar.gz
归档 :工具插件的结构在 Plugins Packaging 页面 中进行了描述。 TeamCity 将在所有代理上使用 ZIP 文件的名称作为工具名称。 ZIP 文件将在代理上自动解压到同名目录中。
当安装第一个自定义工具时, 自定义归档 部分会出现在页面上。 在这个部分,您可以查看所有的工具使用情况,删除工具或安装新的工具。
TeamCity 将已安装的工具放入 <TeamCity Data Directory>
/plugins/.tools
中,并监控该目录的内容。
在开始首个需要该工具的构建之前,代理会下载该工具。 一旦下载完成,该工具将存储在代理上,因此构建不会再花费时间重新下载。
当编辑直接依赖于工具的构建步骤的设置时,您只需从下拉菜单中选择此工具的特定版本,以让 TeamCity 知道应将哪个确切的工具交付给代理。
然而,有些情况下,任意构建脚本需要某种工具。 在这种情况下,您可以通过在支持输入参数的构建步骤设置中引用一个所需的工具作为 %teamcity.tool.<installed_tool_ID>%
参数。 您也可以在 构建配置参数 的值中或者在 代理需求 中引用一个工具。 例如,在处理 agent 要求的情况下,您可以为具有名称 %teamcity.tool.<installed_tool_ID>%
的参数定义类型为 exists
的要求,这将指示 TeamCity 构建需要引用的工具。 在开始构建之前,TeamCity 服务器会扫描所有构建步骤的设置,找到所有此类工具引用,并通知代理程序哪些工具是构建所需的。
要检查该工具是否出现在代理上,请在 TeamCity UI 中查找 teamcity.tool.<已安装工具_ID>
,这是在 代理报告的配置参数中查找。
如果您在 TeamCity UI 中删除了一个工具,每个安装了此工具的代理将会发现这一点,删除自己的工具副本,并重新启动。