zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    大小写敏感性
    Select的深入应用(1)
    SQL模式匹配
    返回日期和时间范围
    利用枚举管理事务逻辑
    自动记录数据的改变时间
    操作日期和时间
    关于Rational Functional Tester (RFT)的简单介绍
    html布局 左右固定,中间只适应,三种方法实现
    js混合计算字符串字节长度
  • 原文地址:https://www.cnblogs.com/selton/p/10338627.html
Copyright © 2011-2022 走看看