Jenkins学习笔记

背景

​ DevOps其实是描述的是从开发人员push代码或者上线打tag发布新版本的时候,会经过一些列单元测试,集成测试,自动部署等等一系列步骤转化为自动化的一个过程。只要这些自动化脚本都做好了, 那么就节约了很多的物力和财力。 程序员只要关心自己的业务代码即可, 后面一些列繁琐的事情,打包,更新镜像等等都不用关心, 也无须关心,因为流程都是一样的,步骤也是一样的,就让脚本帮我们做就好了。

​ 那么要让脚本帮我们做,很多小伙伴就说了,简单啊,自己写个shell脚本或者python脚本不就搞定了嘛。嘿嘿, 简单项目就几个人的团队python脚本其实也能够应付了没问题。但是,人一多,项目越多,你这个脚本针对每个项目的写不一样,得重头来写。 自己盖个小房子请几个工人手工掘地施工没问题, 你要建设高楼大厦手工去挖土能搞定? 那肯定得找挖掘机啊。 这里的挖掘机就是Jenkins了,现成的CI/CD开源解决方案,直接用就是了。 而且有很多人在用, 大佬写代码bug比你自己写的少且健壮。遇到问题,去社区,官网搜索就好了。 功能不够? 可以安装jenkins插件,找找基本都符合你的常规需求,实在没有再考虑在jenkins中去插入自己的特有脚本。

内容

Jenkins白话文工作原理和内容:

​ 你的jenkins项目叫啥,是什么项目干了什么(项目描述),你要怎么构建,从哪里拉代码,拉代码之后,你要在什么编程环境下面,要对代码怎么执行什么命令操作, 操作完之后你要干什么(发邮件通知?调用部署接口?等等)。Jenkins WebUI界面就是这样, 像填空题一样,把大致框架给你搭好了,自己填自己需要的东西就是了。

​ 但是我们不会每次都去看Jenkins WebUI来触发我们的构建吧? 还是不够自动化。 那么 Jenkins Pipeline就出来了, Jenkins内嵌Goovy虚拟机,只要你编写Goovy脚本结合Jenkins内置变量和函数,就能实现脚本自动化。和Openresty如出一辙, 在nginx中假如LuaJIT虚拟机, 这样可以最大自由化实现你的需求。

学习笔记: jenkins学习笔记