更新时间:2022-05-10 GMT+08:00
对接概况
Jenkins是什么
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。
Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。
常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
约束与限制
该实践方案仅支持在CCE集群下部署,不适用专属云场景。
部署分析
- Jenkins安装部署直接使用容器化镜像部署在CCE集群中。
- Jenkins pipeline与SWR的对接,主要考虑如何在pipeline中调用docker build/login/push相关的命令,同时需要通过SWR获取长期docker login的方式,目前已支持。
- Jenkins pipeline与CCE的对接,主要考虑使用什么插件在pipeline中对接Kubernetes集群,使用kubenetes插件后通过导入多个kubeconfig配置文件的方式,可以在pipeline中对接不同权限的用户、不同集群。不同的集群kubeconfig文件不同,Kubernetes中不同权限的用户(RBAC),可以通过serviceaccount关联clusterrole,并生产专属的kubeconfig文件实现。
- 对接Kubernetes集群后,用户通过yaml文件,可以实现Kubernetes资源(deployment/service/ingree/job等)的部署、升级等能力。
