jenkins安装教程

Build great things at any scale.

快速上手

  1. 安装jenkins
  2. 使用jenkins

起源

一个项目比较完整的生命周期该是怎样的?

由开发的coding阶段和coding阶段的质量测试,再到多次发布投入使用阶段

而现代化的测试阶段并不是从coding结束后开始,而是和coding同步进行的,今天上午coding完成一个功能,下午就要投入测试

如何测试呢,也就是将开发者完成的代码,拉取到服务器A(一般是linux)上,按照开发者的部署文档搭建各种依赖服务(可能是mysql,redis,kafka等等),然后运行代码编译后的文件或者是运行脚本

如果我们测试得出开发者今天完成的新功能存在问题,我们需要提出bug,然后开发者解决这个bug,解决完之后呢?

如果开发者在bug解决文档中没有说明是依赖服务出现了问题导致的这个bug,那么A机器上的依赖服务我们是不用重新搭建的,无非就是启动和停止.

变化的往往都是开发者的功能的代码部分.对于java coder,一般是将开发者在git的指定分支上的代码pull下来之后编译打包,然后替换掉A机器上的编译后的包,重启服务,继续测试

每当需求发生变化,功能需要改进,bug等等问题的时候,代码就会发成变化,而将这种变化需要我们在测试机器上得以体现,可能就是替换代码包之类的,这个过程重复而且繁杂,也容易出现部署失误,这种需求背景下产生了自动化持续构建的概念.

而jenkins正是贯彻和发扬了这一理念的持续构建工具

The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

领先的开源自动化服务,jenkins中提供了众多的插件以支持使用自动化的方式构建和发布任何工程.

本文作者同大家一起开始步入jenkins的镜像世界,一步一步,深入jenkins,从入门到精通,从使用到理解掌握

为什么选择jenkins

既然都是为了实现自动化持续构建,难道就jenkins这一个选择吗

通常我会使用百度指数,在涉足一个新的领域的时候帮助我了解这个领域哪些将会是趋势,哪些只是残留

百度指数只能反映国内的一部分情况,以后会加入google指数来反映国外的情况.

hudson/jenkins

hudson是jenkins的前称

jenkins 2012-2019百度搜索指数趋势图

hudson的趋势数量级在百,忽略不计

TeamCity
TeamCity是jet大脑的出品,百度搜索指数还未收录

Travis

Travis CI是最老的托管解决方案之一

其他

其他有如gitlab ci,bamboo由于存在关键词意义重叠的情况,目前还没有想到比较好的解决方案,这次不加入比较.

结论

从上面的趋势图中无论是基数还是趋势,jenkins的学习性价比对比travis要高许多.

当你选择了一种语言,意味着你还选择了一组技术、一个社区

从二次开发的角度来看,jenkins开源,而且使用的语言是java,使用的框架为spring,两者分别为国内语言社区和框架社区中的顶级社区,发展的特别的好.

安装

平台

目前仅支持到docker平台,其他平台安装会录取出,顺序为列表顺序.

Docker平台

下载镜像

docker pull docker.io/jenkinsci/blueocean:1.10.1-bcc31d32159f

创建和启动容器

docker run -d --name jenkins -p 8080:8080 -p 50000:50000 docker.io/jenkinsci/blueocean:1.10.1-bcc31d32159f

启动之后使用

docker logs jenkins

在log信息的末行看到类似如下即说明安装成功.

...
...
...
Jan 28, 2019 9:40:33 AM jenkins.install.SetupWizard init
INFO:
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
57ec07c4cc974ebd8d663f16056ebc81
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
--> setting agent port for jnlp
--> setting agent port for jnlp... done
Jan 28, 2019 9:40:49 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Jan 28, 2019 9:40:49 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Jan 28, 2019 9:40:50 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Jan 28, 2019 9:40:50 AM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
Jan 28, 2019 9:40:51 AM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
Jan 28, 2019 9:40:51 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished Download metadata. 19,416 ms
Jan 28, 2019 10:28:12 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Started telemetry collection
Jan 28, 2019 10:28:14 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished telemetry collection. 2,339 ms
Jan 28, 2019 1:06:15 PM hudson.model.AsyncPeriodicWork$1 run
INFO: Started Fingerprint cleanup
Jan 28, 2019 1:06:15 PM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished Fingerprint cleanup. 2 ms

如果在安装过程中(即安装还未完成),使用浏览器访问页面,访问地址为 本机ip:8080,
会出现提示正在安装,初始化的界面

相比与什么都不做,这个先反馈给安装者我们正在安装的设计非常的nice,用户亲和+1

稍等一会儿,页面变为

大意是提示我们在安装的环境的路径为/var/jenkins_home/secrets/initialAdminPassword的文件里面包含中超级用户的密码

熟悉吗?没错,聪明的读者已经在上一步的安装之后我们的确认命令docker logs jenkins中发现了端倪

*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
57ec07c4cc974ebd8d663f16056ebc81
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************

复制消息57ec07c4cc974ebd8d663f16056ebc81粘贴到页面输入框

点击continue进入界面

众多丰富完善的插件是jenkins能够自动化构建的一大杀器
这里我们选择install suggested plugins,让jenkins帮助我们自动安装那些特别常用的插件,后续会有几个重要插件我们单独安装

很快就完成了下载

之后我们创建管理员用户

确认输入一下访问地址信息

点击save and finish
之后提示我们安装成功,点击start using jenkins搞定

至此完成jenkins的安装以及初始化

RedHat

Mac

Win10

posted @ 2019-01-30 16:24  seltonzyf  阅读(2437)  评论(0编辑  收藏  举报