jenkins安装教程

Posted selton

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于jenkins安装教程的主要内容,如果未能解决你的问题,请参考以下文章

VIM 代码片段插件 ultisnips 使用教程

Jenkins自动部署发布Java代码(完整教程)

Jenkins安装教程

Jenkins教程之windows下安装Jenkins保姆级教程

jenkins在线安装教程指南

jenkins入门教程