K8s是什么?
Kubernetes,简称K8s,用于管理容器的一个开源应用。
Jenkins是什么?
Jenkins,是基于Java开发的一种开源持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
为什么要持续集成?
在程序员日常的开发当中,使用着各种不同的编程语言,流程中少不了开发、测试、打包、发布等等的步骤,这其中的部分环节,是重复且必须的工作。所以慢慢地引入了持续集成的概念,从而减轻开发人员,运维人员的操作和时间成本,更好地服务好我们的程序猿。
K8S结合Jenkins实现持续集成教学
一、前置环境条件:
1、已经有部署好的K8S集群环境;
2、已经在K8S环境中已经部署好Jenkins应用;
3、代码仓库(如gitlab、GitHub等)已经通过webhook等方式,和Jenkins能进行通讯;
4、jenkins添加好代码仓库对应的流水线作业。
二、登录到Jenkins UI进行模版配置
1、登录到Jenkins – 左菜单(系统设置) – 节点管理 – Configure Clouds,进行模版的配置
2、编辑Kubernetes模版
第一页详细配置如上图,基本都是用默认值即可,有几个地方需要根据实际的集群信息进行填写就可以啦,挺简单的!
3、编辑pod模版
jenkins的模版的配置详细过程这里就不展示了,按照要求一步一步做下来即可。
三、Jenkinsfile使用详解
需要设置的代码详情如下:
终于完成了。
如此一来,我们就配置好了jenkins模版和jenkinsfile完整的一套可持续集成系统的工作。后续开发时只需要合并好代码,触发webhook流水线,通知jenkins进行打包、发布、部署的操作即可。
配置的过程说简单也不简单,尤其是对于不会配置的程序员们配置的过程中,可能还会遇见各种各样的故障问题,那么有没有这样一种SAAS化的可实现持续集成的产品,让我们拿来即用呢?
答案当然是:有!
而且还要是免费的!
StarOS云原生研发平台公测版
除了持续集成,starOS还能解决哪些问题呢?
- 微服务开发语言各不相同,交付方式复杂多样;
- 时间总是花在打包环境配置、构建交付上,无法专注开发;
- 自动化工具使用零散,工具学习成本太高,难以推行至团队使用;
- 尝试使用容器化技术,但又为团队带来了额外的学习与管理成本。
我们希望通过 StarOS,为你和你的团队带来一种全新的研发模式:
- 【无服务器】只需专注于服务研发,无需运维底层计算/存储资源;
- 【自动交付】对接代码仓库,只需更新代码,构建交付自动化;
- 【免配置化】可视化的应用架构设计和构建配置,无需管理配置文件和发布脚本;
- 【在线研发】无需服务器,无需本地环境,只需要一个浏览器,就可以进行开发。
梦,要在云上做!