一、Jenkins
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
★主要功能:
1、持续的软件版本发布/测试
2、监控外部调用执行项目
二、Jenkins的特性
●持续集成和持续交付
作为一个可扩展的自动化服务器,Jenkins可以用作简单的CI服务器,或者变成任何项目的连续交付中心。
●简易安装
Jenkins是一个独立的基于Java的程序,可以立即运行,包含Windows,Mac OS X和其他类Unix操作系统。
●配置简单
Jenkins可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。
●插件
通过更新中心中的1000多个插件,Jenkins集成了持续集成和持续交付工具链中几乎所有的工具。
●扩展
Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。
●分布式
Jenkins可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建,测试和部署。
三、Jenkis的工作原理
![](https://img.haomeiwen.com/i20524072/6cfb5b21ae6e22b4.png)
1、developer将新版本push到git server (Gitlab 或都 Github)。
2、Gitlab(或者gitHub)随后触发jenkins master结点进行一次build
3、jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等等。这些原本需要手动完成的任务都可以交给jenkins来做。
4、在build中要进行编译,这里使用了分布式编译器distcc来加快编译速度。
jenkins的工作原理是先将源代码从github中拷贝一份到本地,然后根据build脚本进行build。
三、Jenkis的好处
1、提高工作效率,解放运维劳动力,每次在开发、测试环境代码,都无须运维部署,而是相关的开发人员,测试人员登录jenkins传入需要部署的tag即可,整个部署过程无须运维参与。
2、安卓,IOS自动打包:虽然打包和运维关系不大,但是运维实现自动打包,使得产品同学,运营和测试同学可以每日验证产品开发进度以及及时反馈开发功能的方向是否正确,对公司贡献还是不小的。
声明:原创,欢迎转载~! 感谢谢您的关注,谢谢~!
网友评论