您正在查看 KubeSphere 版本的文档:v3.0.0
KubeSphere v3.0.0 版本的文档已不再维护。您现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本。
Jenkins 系统设置
Jenkins 强大而灵活,已经成为 CI/CD 工作流的事实标准。但是,许多插件要求用户先设置系统级配置,然后才能使用。
KubeSphere DevOps 系统提供基于 Jenkins 的容器化 CI/CD 功能。为了向用户提供可调度的 Jenkins 环境,KubeSphere 使用 Configuration-as-Code 进行 Jenkins 系统设置,这要求用户登录 Jenkins 仪表板并在修改配置后重新加载。Jenkins 系统设置在 KubeSphere 当前版本的控制台上不可用,即将发布的版本将支持该设置。
本教程演示如何在 Jenkins 仪表板上设置 Jenkins 并重新加载配置。
准备工作
您已启用 KubeSphere DevOps 系统。
修改 ConfigMap
建议您通过 Configuration-as-Code (CasC) 在 KubeSphere 中配置 Jenkins。内置 Jenkins CasC 文件存储为 ConfigMap。
-
以
admin
身份登录 KubeSphere,点击左上角的平台管理,然后选择集群管理。 -
如果您已经启用多集群功能并已导入 Member 集群,您可以选择一个特定集群来编辑 ConfigMap。如果您尚未启用多集群功能,请直接参考下一步。
-
在左侧导航栏中选择配置中心下的配置。在配置页面上,从下拉列表中选择
kubesphere-devops-system
,然后点击jenkins-casc-config
。 -
在详情页面上,点击更多操作,在下拉列表中选择编辑配置文件。
-
jenkins-casc-config
的配置模板是一个 YAML 文件,如下图所示。您可以在 ConfigMap 的代理 (Kubernetes Jenkins Agent) 中修改容器镜像、标签等内容,或者在 podTemplate 中添加容器。完成操作后,点击更新。
登录 Jenkins 重新加载配置
修改 jenkins-casc-config
后,您需要在 Jenkins 仪表板的 Configuration as Code 页面上重新加载更新后的系统配置。这是因为直接通过 Jenkins 仪表板配置的系统设置可能在 Jenkins 重新调度之后被 CasC 配置覆盖。
-
执行以下命令获取 Jenkins 的地址。
export NODE_PORT=$(kubectl get --namespace kubesphere-devops-system -o jsonpath="{.spec.ports[0].nodePort}" services ks-jenkins) export NODE_IP=$(kubectl get nodes --namespace kubesphere-devops-system -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT
-
您可以看到如下所示的预期输出,获取 Jenkins 的 IP 地址和端口号。
http://10.77.1.201:30180
-
使用地址
http://Node IP:Port Number
访问 Jenkins。安装 KubeSphere 时,默认情况下也会安装 Jenkins 仪表板。Jenkins 还配置有 KubeSphere LDAP,这意味着您可以直接使用 KubeSphere 帐户(例如admin/P@88w0rd
)登录 Jenkins。备注
取决于您的实例的部署位置,您可能需要设置必要的端口转发规则并在您的安全组中放行端口30180
,以便访问 Jenkins。 -
登录仪表板后,点击导航栏中的 Manage Jenkins。
-
向下翻页并点击 Configuration as Code.
-
要重新加载 ConfigMap 中已修改的配置,请点击 Apply new configuration。
-
有关如何通过 CasC 设置 Jenkins 的更多信息,请参见 Jenkins 文档。
备注
在当前版本中,并非所有插件都支持 CasC 设置。CasC 仅会覆盖通过 CasC 设置的插件配置。