温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-08-10 11:29:18 来源:亿速云 阅读:232 作者:Leah 栏目:云计算

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

整体流程如下图所示:
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;

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI