Jenkins是易于使用的开源CI / CD工具。该博客介绍了基本的Jenkins组件架构。如果您是Jenkins的初学者,它将帮助您了解Jenkins组件如何协同工作以及所涉及的关键配置。以下是Jenkins的关键组成部分
- Jenkins主节点
- Jenkins Slave节点
- Jenkins Web界面
Jenkins Master
Jenkins的主节点拥有所有关键配置。以下是Jenkins主要的主要组件。Jenkins Jobs
Job是一系列步骤的集合,可用于构建源代码,测试代码,运行Shell脚本或在远程主机中运行Ansible角色。有多种工作类型可支持您的工作流程,以实现持续集成和持续交付。
Jenkins插件
插件是社区开发的模块,您可以将其安装在Jenkins服务器中。它使您可以添加Jenkins本身无法提供的更多功能。您还可以开发自定义插件。从Jenkins插件索引中查看所有插件 。
Jenkins用户
Jenkins有自己的用户数据库。它可以用于Jenkins的身份验证。
Jenkins全局安全性
Jenkins具有以下两种主要的身份验证方法。
- Jenkins自己的用户数据库:-由Jenkins自己的数据库维护的用户集。
- LDAP集成:-使用公司LDAP配置进行Jenkins身份验证。
Jenkins凭证
如果要保存作业中必须使用的任何秘密信息,可以将其存储为凭证。所有凭证均由Jenkins加密。
Jenkins节点/云
您可以配置多个从节点(的Linux / Windows)或云(kubernetes执行Jenkins工作)。
Jenkins全局设置(配置系统)
在Jenkins全局配置下,您具有已安装插件的所有配置和本机Jenkins全局配置。另外,您可以在此部分下配置全局环境变量。
Jenkins日志
提供有关所有Jenkins服务器操作的日志信息,包括作业日志,插件日志,webhook日志等。
在Jenkins主节点中,上述组件的所有配置都将作为配置文件出现。注意: Jenkins没有数据库。所有Jenkins配置都存储为配置文件。主要是xml文件。
Jenkins Slave
Jenkins从节点是Jenkins服务器中配置的作业的工作节点。注意:您可以在没有Jenkins从属服务器的情况下在Jenkins服务器中运行作业。但是,推荐的方法是将Jenkins从站分开以满足不同的工作要求,以免最终使Jenkins服务器混乱,从而无法完成工作所需的任何系统范围的配置更改。您可以将任意数量的具有Windows和Linux服务器组合的Jenkins从服务器连接到主服务器。另外,您可以根据用例限制作业在特定的从属服务器上运行。例如,如果您有一个具有Java 8配置的从属服务器,则可以为需要Java 8环境的作业分配该从属服务器。没有使用slave的单一标准。您可以根据项目需求设置工作流程和策略。
Jenkins Web界面
Jenkins 2.0引入了一个非常直观的Web界面,称为“ Jenkins Blue Ocean”。它具有所有管道的良好视觉表示。Jenkins主从连接
您可以通过两种方式连接Jenkins主服务器和从服务器- 使用SSH方法:使用ssh协议连接到从服务器。连接从Jenkins主站启动。这应该是主机和从机之间通过端口22的连接。
- 使用JNLP方法:使用Java JNLP协议。在这种方法中,Java代理从带有Jenkins主详细信息的从属启动。为此,主节点防火墙应允许指定JNLP端口上的连接。通常,分配的端口为50000。此值是可配置的。
- 从节点:这些是将配置为静态从节点的服务器(Windows / Linux)。这些从站将一直处于运行状态,并保持与Jenkins服务器的连接。
- 从属云: Jenkins Cloud从属是具有动态Slave的概念。意味着,每当您触发作业时,从属将按需部署为VM /容器,并在作业完成后被删除。当您拥有庞大的Jenkins生态系统并持续构建时,此方法可节省基础设施成本。
Jenkins数据
所有Jenkins数据将存储在以下文件夹位置。数据包括所有作业配置文件,插件配置,凭据,节点信息等。/var/lib/jenkins每天备份Jenkins数据文件夹非常重要。由于某种原因,如果您的Jenkins服务器数据损坏,则可以使用数据备份还原整个Jenkins。