管理GoCD代理
GoCD旨在让管理构建云变得极其简单。本页将引导您完成扩展云和维护代理的生命周期。
将GoCD代理添加到您的云中
首先要做的是在要添加到云中的机器上安装Go代理。安装并指向您的GoCD服务器后,前往
Once the GoCD agent has been installed and pointed at your GoCD server, go to the 代理选项卡在GoCD仪表板上。你应该会看到类似这样的内容:
注意主机名是由代理报告的,IP地址是由服务器报告的。
要将代理添加到云中,请点击“启用”。请注意,即使您点击了“启用”,代理也不会被启用,直到它下次与服务器联系 - 因此如果您的代理停止与服务器通信,则不会发生任何事情。
一旦您的代理成功启用,它将被标记为“空闲”。此时,您的代理将自动开始接收任务。代理将自动检出他们需要的任何代码以开始运行任务。
将作业匹配到代理
在其默认状态下,GoCD服务器将调度的任务分配给第一个可用的代理。GoCD无法确定某个代理上存在哪些操作系统或其他资源。如果您希望某些任务在特定的代理上运行,您需要指定资源 .
您可以指定一个或多个特定任务需要执行的资源。同样,您可以指定某个代理具有一个或多个资源。Go将会把任务匹配到代理,使得任务只会运行在至少具有该任务所需资源的代理上。
资源只是纯文本标签。没有预设的标签或关于标记的约定 - 只需使用对你有意义的内容即可。例如,您可以使用操作系统作为标签:“RHEL linux”,“Windows XP”。您还可以使用浏览器、数据库或其他有意义的内容。我们建议您根据您的任务进行分类 - 如果您知道某些任务只能在某些机器上工作,请用这些任务所需的特殊资源或资源标记任务,然后相应地对代理进行分类。
注意:资源匹配不区分大小写。
若要指定任务所需的资源,请转到管道配置部分的管理 > 管道标签选项卡并编辑您要指定资源的任务:
一旦你指定了你的任务所需的资源,你也需要描述你的代理具备哪些资源。这可以在代理选项卡中非常容易地完成。只需选择你要描述的代理,并点击资源按钮。
将选定的代理与新创建的资源关联
输入新资源的名称并点击“添加”按钮。
将选定的代理与现有资源关联
所有现有的资源将在您的代理和任务中按字母顺序显示。为所有您想要关联的资源选择三种状态之一,然后点击“应用”按钮。
- 资源带有勾选将资源添加到所有选定的代理。
- 资源带有破折号表示部分选定代理与此环境关联。点击“应用”后不会发生任何更改。
- 资源无勾选将资源从所有选定的代理中移除。
代理状态
GoCD会在失去与代理的联系时告知您。如果GoCD服务器在两分钟内没有听到代理的消息,该代理将在代理选项卡中变为红色,GoCD会告诉您上次听到该代理的时间。如果丢失的代理正在构建任务,GoCD也会透明地重新分配构建到下一个可用的代理。
如果GoCD服务器在最后一次启动后从未收到过某个已知代理的联系,GoCD也会通知您。在这种情况下,代理的状态将被标记为“失踪”,并且它是灰色的。
如果代理正在处理任务,它将变为橙色,并显示它正在处理的任务名称。您可以点击任务描述以进入该任务的任务详细信息页面:
删除代理
如果您想从GoCD的构建云中移除一个代理,请转到代理选项卡,找到您要移除的代理,并点击标记为“禁用”的按钮。GoCD将在其配置中记录该代理应排除在构建云之外。如果重启Go服务器,该代理将继续被禁用。禁用的代理不计入GoCD的许可代理数量。
为了永久从Go的配置中移除代理,您可以使用代理API或从代理选项卡中删除。代理必须先禁用才能被删除。
按照此过程,如果您重新启动代理,GoCD服务器会将其视为一个新的代理,并且您可以再次以相同的方式启用它。
暂停代理
如果您想暂停代理或暂时禁用它,以便GoCD服务器不会将工作分配给该代理。GoCD将在其配置文件中记录代理已被禁用。这意味着,如果您重新启动GoCD服务器,禁用的代理将保持禁用状态。您可以使用以下API来禁用代理或者您可以从代理标签页中禁用该代理。
被禁用的代理可以重新启用;这将使其再次有资格接收工作。您可以使用API或从代理标签页中启用代理。
单个代理的详细信息
GoCD 现在提供了一个页面,显示单个代理的详细信息。此页面提供了关于代理配置及其上运行的所有作业的历史记录的详细信息。
代理详细信息标签页
该标签页显示代理的配置和运行时信息。例如,此标签页显示代理上的可用空间、IP 地址和代理的操作系统。
在配置方面,此标签页显示代理的资源及其所属的环境。一个示例“详细信息”标签页如下所示:
作业运行历史记录标签页
您必须以管理员用户身份登录才能配置此步骤。
此标签页显示在此代理上运行的所有已完成作业的表格。以下是示例页面。
对于每个作业,显示以下列:
- 流水线:作业所属的流水线
- 阶段:作业所属的阶段
- 作业:作业的名称
- 结果:作业的结果 - 通过、失败、取消或重新计划
- 完成时间:作业完成的时间
- 持续时间:作业完成所需的时间 - 从计划开始到完成为止。
作业列表表可以根据任何列进行排序,但“持续时间”列除外。
使用代理详细信息来调试代理问题
此页面有助于确定是否存在代理问题,因此导致某个作业在该代理上反复失败。
考虑一个作业,它为需要浏览器可用的Web应用程序运行功能测试。该作业之前一直通过,只是最近才开始间歇性失败。以下是您可以遵循的步骤,以确定这是否是代理问题。
- 导航到给定失败作业的作业详细信息页面。
- 找到“Agent”标签并点击链接到代理。
- 导航到“Job Run History”(作业运行历史)标签页。
- 按作业名称排序,并找到刚刚导航过来的作业。
您会注意到该作业最近开始失败。您还可以通过按完成日期排序,查看是否有其他作业也在同一时间左右开始失败。