我是Jenkins的初学者。我正在尝试将一个开发过程放到包括Jenkins, GitHub, SonarQube, IBM UCD
的DevOps管道中。
这不是一个非常复杂的部署过程,它使用的是windows机器。
有三种环境,QA
、DEV
和PROD
。
我知道我需要为这三个环境中的每一个安装一个IBMUCD
agent
,但我是否也需要在Jenkins
中安装三个slaves
,或者Jenkins
中只有一个master
可以为三个环境进行部署?哪种方式更好?
通常,对于复杂的部署过程,公司都使用"Master+Agent"方案,但在您的情况下,如果您可以在一个主机上构建一些带有Master+Agent的高级Jenkins系统,并且没有任何额外的项目或限制,则无需创建它。
来自官方文件:
从Jenkins开始,通常只有一台服务器运行主服务器和所有构建,但Jenkins体系结构基本上是"主+代理"。主程序设计用于进行协调并提供GUI和API端点,代理程序设计用于执行工作。原因是工作负载通常最好"外包"给分布式服务器。这可能是为了扩大规模,或者提供不同的工具,或者在不同的目标平台上构建。远程代理的另一个常见原因是将部署部署到安全环境中(而主机没有直接访问权限)。
有关其他信息,您可以阅读以下文章:this和this。