Jenkins中怎么利用Kubernetes实现服务持续集成

Jenkins中怎么利用Kubernetes 实现服务持续集成,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联是专业的千阳网站建设公司,千阳接单;提供网站建设、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行千阳网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

整体流程如下图所示:
Jenkins中怎么利用Kubernetes 实现服务持续集成
简单分为五个过程
1、需求原型开发完成,开发人员介入开发;
2、开发人员将代码提交到代码仓库 git/SVN;
3、钩子触发 jenkins master 启动一次构建,或者开发人员自行点击构建,根据情况自行选择,jenkins 拉取代码、maven 编译;

这里假设你已经完成 Jenkins 安装、远程工具、java 编译环境配置等。如果没有配置,网上找找,资料特别多。这部分其实相对来说和之前使用Jenkins 的方式区别不大,如果你使用 git,这里还是 git 拉取代码,之前是 maven/ant 进行打包,那么这里还是 maven/ant 进行打包。
Jenkins中怎么利用Kubernetes 实现服务持续集成  
4、docker 镜像构建、镜像提交到仓库;
docker 镜像在构建需要区别与以前的形式,如果你已经在 Jenkins 上安装了 docker 插件,直接在当前机器构建即可,如果没,也没问题,远程 SSH 到一台能够构建 docker 镜像的服务器进行镜像打包。

docker build -t docker.hub.com/dev/tomcat-webapps:$version .docker push docker.hub.om/dev/tomcat-webapps:$version
打包过程需要注意两点
  • 第一点,docker 构建镜像需要 tag ,这个 tag 可以通过 Jenkins 参数化构建,在构建之前输入版本号,如果没有输入,填写默认值即可。

  • 第二点、历史镜像如何处理?比较建议每次镜像构建完成之后,通过  Jenkins 配置命令删除没有运行的镜像。

    具体根据使用场景处理这些中间产物。


docker rm $(docker ps -a -q)

5、Kubernetes yaml 运行过程到仓库拉取 docker 镜像构建产物,从而启动整个服务,测试人员开始全方位功能、性能测试。
kubectl apply -f config.yamlsed -i 's/image-replace-webapps/tomcat-webapps:${version}/'  tomcat_deployment.yaml;kubectl apply  -f  tomcat_deployment.yaml
Jenkins中怎么利用Kubernetes 实现服务持续集成

3、在构建过程中需要注意问题

docker 每次镜像构建 tag 不一样,如何传递到 k8s yaml中?

docker 镜像构建过程中通过参数化构建已经可以修改版本号,同样的,首先在 k8s 编排文件镜像部分添加能够已知占位符;

然后把这个版本号动态传递并替换到 k8s yaml 中;

sed -i 's/image-replace-webapps/tomcat-webapps:${version}/'  tomcat_deployment.yaml;

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


网页标题:Jenkins中怎么利用Kubernetes实现服务持续集成
文章来源:http://scyanting.com/article/gjphdo.html