GoCD弹性代理
介绍
弹性代理是GoCD中的一个扩展点,当有任务需要执行时,它会通过弹性代理插件创建和配置按需代理,并在代理空闲时终止它们。这些代理可以位于数据中心或云端,或者两者皆有,可以是物理机或虚拟机。
开发人员可以通过分叉骨架插件并参考一个示例Docker插件, Docker Swarm插件作为参考实现的示例。
为什么使用弹性代理?
这样的功能可以让代理机器的使用更加高效,允许灵活扩展,并且在许多情况下可以降低运行代理的成本。想象一下偶尔运行的自动化性能测试,它需要大量机器。这些机器可以在性能测试开始时启动,可能使用某些云服务,然后在不需要时关闭。此功能应能够支持更灵活和动态的构建网格。
弹性代理的配置
注意:GoCD版本
19.3.0
引入了集群配置文件的概念。插件设置正在从弹性代理扩展中移除,转而使用集群配置文件。如果你使用的是较旧版本的GoCD,请参考此文档.
使用GoCD弹性代理需要下载并安装可用的弹性代理插件.
安装插件后,请确保:
- 配置集群配置文件 (管理 > 弹性配置文件)。
- 配置弹性代理配置文件 (管理 > 弹性配置文件)。
- 将弹性代理配置文件与一个或多个作业关联。
概念
要理解GoCD中的弹性代理插件,有几个基本概念需要了解:
集群配置文件
在大多数情况下,单个GoCD实例被多个团队使用。每个团队可以有自己的构建环境,例如开发、阶段、生产。以前,通过插件设置,GoCD只能同时支持一个环境。现在,团队可以通过利用集群配置文件来使用自己的构建环境。
集群配置文件通常包含连接设置(端点、凭据),以便GoCD服务器可以连接到弹性提供商。根据插件的不同,弹性提供商可能是Docker服务器、AWS、Azure或Kubernetes集群。
弹性代理配置文件
弹性代理配置文件通常包含代理的配置。根据所使用的插件,这可能包括机器镜像(AMI、Docker镜像)、CPU/内存/磁盘大小、网络设置等。
定义弹性代理配置文件后,应将其与特定的作业关联。可以为不同类型的任务定义多个配置文件。