前言:
Kubernetes,简称K8s,相信大家都不会陌生。这是一个开源的,用于管理云平台中多个主机上的容器化的应用。
Jenkins,是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
在程序员日常的开发当中,使用着各种不同的编程语言,流程中少不了开发、测试、打包、发布等等的步骤,这其中的部分环节,是重复且必须的工作。所以慢慢地引入了持续集成的概念,从而减轻开发人员,运维人员的操作和时间成本,更好地服务好我们的程序猿(嗷嗷嗷 ~ 程序员太苦啦,是时候来点甜啦~)。
接下来让我来给大家分享一下,如何结合K8S和Jenkins可以实现快速地实现以上的一些重复性且必要的工作,让我们的攻城狮更好地专注在开发工作当中!
前置环境条件:
1、已经有部署好的K8S集群环境;
2、已经在K8S环境中已经部署好Jenkins应用;
3、代码仓库(如gitlab、GitHub等)已经通过webhook等方式,和Jenkins能进行通讯;
4、jenkins添加好代码仓库对应的流水线作业。
1、登录到Jenkins UI进行模版配置

登录到Jenkins – 左菜单(系统设置) – 节点管理 – Configure Clouds,进行模版的配置

1.1 编辑Kubernetes模版

第一页详细配置如上图,基本都是用默认值即可,有几个地方需要根据实际的集群信息进行填写就可以啦,挺简单的!!
1.2 编辑pod模版
2-1和2-2是pod模版的名称和模版标签

第二页详细配置如上图,按照上图说明即可。俗话说,工欲善其事,必先利其器,至此,jenkins的模版关键配置已经完成啦,接下来就是使用这些模版的时候啦,请继续往下阅读!!
2、可持续集成配置
2.1 Jenkinsfile使用详解
这里的lable是 上面的标签设置的值
//模板需要修改的值:label(配置的jenkins的slave标签),cloud:(配置的jenkins的cloud)
//定义变量
def label = "jenkins-slave-js"
//设置pod模版的信息,label是模版标签,cloud是第一步设置的jenkins模版名
//以下操作都是在打包容器里面进行,内容可以高度自定义,贴合不同的需求
podTemplate(label: label , cloud: 'kubernetes') {
node(label) {
//拉取仓库代码
def myRepo = checkout scm
def gitBranch = myRepo.GIT_BRANCH.replaceAll("origin/","").replaceAll("/","-").replaceAll("\\.","-")
def timestamp = sh(script: "echo `date '+%Y%m%d%H%M%S'`", returnStdout: true

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



