设计模式—— 十三 :原型模式
1124
2022-05-28
一、Jenkins是什么
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。
Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。
常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
二、镜像选择
在DockerHub上选择一个相对较新的稳定镜像,地址如下:
https://hub.docker.com/r/jenkinszh/jenkins-k8s/tags
本次搭建测试用的Jenkins,使用的镜像为jenkinszh/jenkins-k8s:2.239。
三、准备工作
在创建容器工作负载前,您需要购买一个可用集群(集群至少包含1个4核8G的节点,避免资源不足)。
若工作负载需要被外网访问,请确保集群中至少有一个节点已绑定弹性公网IP,或已购买负载均衡实例。
四、安装部署Jenkins
1、在CCE控制台中,单击左侧栏目树中的“工作负载 > 无状态负载 Deployment”,单击右侧“创建无状态工作负载”按钮进入无状态工作负载创建页面。
2、在“工作负载基本信息”步骤中,工作负载名称使用:jenkins(可自定义),实例数量选择1个,单击“下一步:容器设置”。
3、在“容器设置”步骤中,单击“添加容器”。
4、在弹出的“选择镜像”窗口中单击“第三方镜像”页签,镜像名称填写:jenkinszh/jenkins-k8s:2.239,其他参数默认,如下图:
5、单击“确定”返回“容器设置”步骤,在基本信息中配置资源规格,本例中CPU配额限制为:2 Core,内存配额限制为:2048 MiB,如下图:
6、单击下方的“数据存储”展开,单击“云存储”页签后单击“添加云存储”按钮,在弹出的窗口中“云存储名称”处选择1个云存储卷(云硬盘EVS和文件存储SFS均可,若没有云存储可单击后方的链接创建),在挂载路径下输入/var/jenkins_home,将云存储挂载到Jenkins容器的/var/jenkins_home目录,供Jenkins保留持久化数据,如下图:
7、接下来给Jenkins容器添加权限,让Jenkins容器中可以执行docker命令。
(1)开启“特权容器”开关。
(2)在“数据存储”中的“本地磁盘”页签下,单击“添加本地磁盘”,分别挂载主机的/var/run/docker.sock和/usr/bin/docker到容器对应路径,并挂载主机的/usr/lib64/libltdl.so.7到容器/usr/lib/x86_64-linux-gnu/libltdl.so.7。
(3)在“安全设置”中配置“运行用户”为:0(即root用户)。
8、单击“下一步:工作负载访问方式”,单击“添加服务”设置访问方式,访问类型选择“负载均衡 ( LoadBalancer )”。Jenkins容器镜像有两个端口:8080和50000,需要分别配置:
8080端口供web登录使用,Service名称:jenkins(可自定义),容器端口:8080,访问端口:8080,其他默认。
50000端口供master和slave连接使用,Service名称:slave(可自定义),容器端口:50000,访问端口:50000,其他默认。
9、单击“下一步:高级设置”,“高级设置”步骤可以保持默认,直接单击“创建”,完成工作负载创建,在创建成功页面单击“返回工作负载列表”,查看工作负载状态,若显示为“运行中”则jenkins应用已可以正常访问。
五、登录并初始化Jenkins
1、在CCE控制台中,单击左侧栏目树中的“资源管理 > 网络管理”,在“Service”页签下选择jenkins访问8080端口对应的访问方式。
2、单击“访问地址”栏的IP地址即可打开jenkins配置页面。
初次访问时界面会提示获取初始管理员密码,该密码可在Pod中获取,如下所示。
# kubectl get pod NAME READY STATUS RESTARTS AGE jenkins-k1duumd7zj-gpe2r 1/1 Running 0 17m # kubectl exec jenkins-k1duumd7zj-gpe2r -it -- /bin/sh # cat /var/jenkins_home/secrets/initialAdminPassword z8eungklzshphkysh7h4gcp4osepwdsd
3、进入后,在新手入门中选择默认推荐的插件即可。
4、创建管理员
5、实例配置,这里配置Jenkins的访问URL:
6、配置完成如图,点击“开始使用Jenkins”按钮即可使用Jenkins。
六、结尾
【与云原生的故事】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/345260
Jenkins 云原生 云容器引擎 CCE 云端实践 容器
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。