设为首页 收藏本站
查看: 969|回复: 0

[经验分享] Jenkins Pipeline_01 什么是Jenkins

[复制链接]

尚未签到

发表于 2018-9-3 13:09:50 | 显示全部楼层 |阅读模式
  打算写一系列的博客记录对Jenkins pipeline 官网的摘要和重点
  Jenkins 2.0 之后将pipline 作为了默认的选项, 对于Jenkins 高阶使用者来说要学会运行pipeline和到编写pipeline的代码。
1. 什么是Jenkins Pipeline
  Jenkins Pipeline 或者简称Pipeline 其实是一系列的插件的通称, 这些插件可以支持执行和集成‘continuous delivery piplines’到Jenkins里面。
  什么是“continuousdelivery pipline” 其实是描述项目软件控制流程, 从软件的版本控制到最终提交给终端用户这一系列的流程的自动部署。
大家知道每次代码的提交(提交到SVN/GIT/Github等代码控制工具)到最终代码发布给终端用户都要经历一系列复杂的流程.这个流程包括编译(build),然后多阶段的测试:unit test, api test, integration test等和部署阶段。
  Pipeline 他提供了一系列可扩展的工具将上述流程通过Pipeline Domain Specific Language (DSL)syntax用‘code’来描述。
  通常来说,Jenkins Pipeline
被写入到一个文本文件里面(我们称为Jenkinsfile),他可以反过来被插入到项目的源代码管理库里面。这就是"Pipeline-as-Code"的基础。然后'thecontinuous delivery pipeline'就可以和其他代码一样被标注版本信息和review. 创建Jenkinsfile带来哪些好处呢:

  •   对任何分支和Pull请求自动创建Pipelines。
  •   Pipeline里面就包含Code review/iteration.
  •   对Pipeline进行审计跟踪。
  •   Single source of truth 可以被项目里面的成员看到和编辑。
  不管是使用web UI 或者是使用一个Jenkinsfile,语法其实都是一样的。推荐最好的还是使用Jenkinsfile并且将这个放入到代码管理库里面。
  这就是Jenkinsfile的一个例子
  Jenkinsfile (Declarative Pipeline)
pipeline {  agent anystages {
  stage('Build') {steps {sh'make'}
  }
  stage('Test'){
  steps {
  sh'make check'junit'reports/**/*.xml'}
  }
  stage('Deploy') {
  steps {
  sh'make publish'}
  }
  }
  
}
  agent表示Jenkins需要定位到这个部分Pipelien的一个执行者和工作目录
  stage描述了Pipeline的一个状态
  steps描述了这个stage的一个步骤
  sh执行给的一个shell命令
  junit它是由Junit plugin 提供的可以集成到测试报告里面的pipline的一个步骤



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-562078-1-1.html 上篇帖子: Jenkins+SVN+Maven持续集成一键部署环境 下篇帖子: 使用Jenkins自动部署nodejs应用 (转载)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表