Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
(来自官网)
互联网软件的开发和发布,已经形成了一套标准流程,假如把开发工作流程分为以下几个阶段:
编码 → 构建 → 集成 → 测试 → 交付 → 部署
是其中最重要的部分,它是指,频繁地(一天多次)将代码集成到主干。将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。也就是说
1、每完成一点就集成到主干,有错误就及时发现并且改正。
2、每完成一点就集成到主干,防止分支偏离主干太远。
持续集成并不能消除Bug,而是让它们非常容易发现和改正。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付优先于整个产品生命周期的软件部署,建立在高水平自动化持续集成之上。
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。
持续部署的前提是能自动化完成测试、构建、部署等步骤。
开源的java语言开发持续集成工具,支持CI,CD;
易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;
消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;
分布式构建:支持Jenkins能够让多台计算机一起构建/测试;
文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;
丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。
安装Jenkins:
1、从docker上获取jenkins镜像 docker pull Jenkins
2、创建jenkins的home目录 mkdir /home/jenkins_home
3、运行jenkins的镜像
docker run -d --name jenkins_01 -p 8081:8080 -v /home/jenkins_01:/home/jenkins_01 jenkins/jenkins4、查看jenkins本地信息
docker ps | grep jenkins5、获取管理员登录绑定密码,先进入到容器当中,然后输入底下的代码你会获得这个【绑定密码】
docker exec -it jenkins_01 /bin/bash cat /var/jenkins_home/secrets/initialAdminPassword6、然后我们的端口是8081,ifconfig获取虚拟机的ip地址,在windows的浏览器上输入
【虚拟机IP地址】:8081
将刚刚的绑定密码写在里头。
7、选择安装推荐的插件
8、显示jenkins准备就绪,安装成功。