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