如何配置Jenkins?
Jenkins 中的用户管理
要在 Jenkins 中管理用户,您应该导航到管理 Jenkins 🡪 配置全局安全。理想的选择是让 Jenkins 拥有自己的用户数据库。您可以创建一个只有读取权限的匿名用户。为您打算在下一步中添加的用户创建条目。
- 在授权策略中,选择“基于矩阵的安全性”。
- 单击“添加用户或组”按钮并在下一个框中输入预期的用户/组名称。
- 在登录页面上,您应该为刚刚获得访问权限的新创建用户(例如我们的例子中的 Himanshu Sheth)创建一个帐户。
在 Jenkins 中为用户分配角色
要创建基于角色的授权策略,需要安装 Role-based Authorization Strategy 插件。用于安装插件-
- 转到管理 Jenkins 🡪 管理插件 🡪 在可用选项卡下输入“基于角色的授权策略”。单击“安装”以安装插件。
- 在分配角色之前,重要的是将授权策略更改为基于角色的策略而不是基于矩阵的安全性。
- 在“Manage Jenkins”中,您会看到“Manage and Assign Roles”,如下所示。
- 创建一个新的全局角色,例如 developer 并选择您打算分配给该角色的权限。
您现在可以分配项目角色、项目角色或节点角色。在我们的例子中,角色“开发人员”应该能够访问以 L 开头的构建作业。Pattern 是作业名称的正则表达式值,它应该是 [L]?。*这是角色的项目角色示例标题为“开发人员”。
如何在 Jenkins 中设置主从?
从属(或代理)创建的先决条件
在我们继续创建从节点之前,必须在 Jenkins 的“全局安全”设置中更改以下设置:
- 转到“管理 Jenkins”🡪 配置全局安全并更改以下设置:
- 转到“身份验证”🡪“安全领域”并将设置更改为“詹金斯自己的用户数据库”。
- 转到“授权”🡪 策略并更改为“基于项目的矩阵授权策略”。为用户“匿名用户”启用“读取”和“系统读取”属性。在“代理部分”中为用户“匿名用户”启用“连接”。
- 转到“代理”🡪“入站代理的 TCP 端口”并将设置更改为“随机”。
- 转到“Agent 🡪 Master Security”并启用“Enable Agent → Master Access Control”。将“SSH 服务器”部分中的“SSHD 端口”设置更改为“禁用”。
- 单击 “应用” 和 “保存” 以保存这些设置。
在詹金斯中创建节点的步骤
- 完成创建代理(或节点)的先决条件后,我们转到“管理 Jenkins”部分并转到“管理节点和云”。
- 单击“新建节点”并为节点指定一个适当的名称(例如从站)。启用“永久代理”设置,以便代理对 Jenkins 来说是永久的。
- 在这一步中,您需要输入节点从机的详细信息。No (#) of executors是 slave 可以并行运行的作业数。我们将此设置保留为 2。Labels是从站的标识符,如果您想在该特定从站上执行作业(通过 Jenkins 管道),它很有用。
远程根目录是将存储 agent.jar 的位置,它可以指向您计算机中的任何目录。在我们的例子中,我们将远程根目录设置为C:\Jenkins_Slave
.
在使用中,您可以选择“尽可能使用此节点”。如下所示,可以通过不同的方式启动从站(或代理),但我们选择“通过连接到主站启动代理”选项。
在Availability中,您可以保留 ‘Keep this agent online as much as possible’ 其余设置可以保持默认状态。单击“保存”以创建名为“从属”的代理。
- 名为“Slave”的新节点已创建,但其状态为离线。
单击名为“Slave”的节点,您将看到代理(即从节点)可以连接到 Jenkins 的不同方式。
单击 Launch 按钮并将slave-agent.jnlp保存在指定目录中(即在我们的例子中为C:\Jenkins_Slave
)。单击 agent.jar(在“如果代理无头”选项中提到)并将 agent.jar 保存在同一位置。如果您想在无头模式下使用浏览器进行测试,将使用此 jar。
- 要启动名为“Slave”的新创建的代理,请转到终端并执行以下命令:
javaws http://localhost:9090/computer/Slave/slave-agent.jnlp
这将打开名为“Jenkins Remoting Agent”的应用程序。单击运行以启动应用程序。
如您所见,名为“Slave”的 Agent 的状态为已连接。同样可以通过查看相应节点的状态来验证。
或者,如果要在无头模式下使用代理,则可以执行以下命令。
java -jar agent.jar -jnlpUrl http://localhost:9090/computer/Slave/slave-agent.jnlp -workDir "c:\Jenkins_Slave"
这是执行快照:
启动从节点的第三个选项是通过双击调用 slave-agent.jnlp。
如下所示,“从”节点的状态为在线。
- 由于新代理已启动并正在运行,您现在可以在“从属”节点上执行作业。