查看“Pipeline”的源代码
←
Pipeline
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=Jenkins Pipeline 简介= Jenkins pipeline 是 Jenkins 2.0 的精髓,,是帮助 Jenkins 实现 CI 到 CD 转变的重要角色。 简单来说,就是一套运行于 Jenkins 上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。 Pipeline 的实现方式是一套 Groovy DSL,任何发布流程都可以表述为一段 Groovy 脚本,并且 Jenkins 支持从代码库直接读取脚本,从而实现了 Pipeline as Code 的理念。 官方文档 流水线可以通过以下任一方式来创建: 通过 Blue Ocean - 在 Blue Ocean 中设置一个流水线项目后,Blue Ocean UI 会帮你编写流水线的 Jenkinsfile 文件并提交到源代码管理系统。 通过经典 UI - 你可以通过经典 UI 在 Jenkins 中直接输入基本的流水线。 在源码管理系统中定义 - 你可以手动编写一个 Jenkinsfile 文件,然后提交到项目的源代码管理仓库中。[3] 使用两种方式定义流水线的语法是相同的。尽管 Jenkins 支持在经典 UI 中直接进入流水线,但通常认为最好的实践是在 Jenkinsfile 文件中定义流水线,Jenkins 之后会直接从源代码管理系统加载。 =Jenkins Pipeline 支持两种语法= <pre> My-pipeline-job01 ->流水线语法 我好像没怎么用 Jenkins Pipeline 支持两种语法,一种 Declarative Pipeline(声明式),一种 ScriptedPipeline(脚本式)。 安装pipeline相关插件 全部要显示为Success pending是不行的 声明式的 Pipeline 限制用户使用严格的预选定义的结构,是一种声明 式的编程模型,对比脚本式的 Pipeline 学习起来更加简单; 脚本式的 Pipeline 限制比较少,结构和语法的限制由 Groovy 本身决定,是一种命令式的编程模型。 所以我们学习使用声明式的方式编写 jenkinsfile。 一般来说 jenkinsfile 会被放在代码库的根目录下。 当然也可以在 Web 页面定义。 下面是两种不同方式的 jenkinsfile 示例 </pre> ==Jenkinsfile (声明式)== <pre> pipeline { agent any stages { stage('Build') { steps { echo 'Building..' } } stage('Test') { steps { echo 'Testing..' } } stage('Deploy') { steps { echo 'Deploying....' } } } } 前面我们说过,声明式的Pipeline有严格的预定义格式结构,有固定的格式,外层必须是pipeline{}, 紧接着是 agent 就是节点node ,agent也是固定的,pipeline紧跟着进来 一定是agent 参考上面的格式 后面的any是任何节点还是其中一个节点,指定某一个节点是自己指定,通过标签自己来指定节点 指示 Jenkins 分配一个执行器和工作空间来执行下面的 Pipeline, stages和steps是申明式Jenkinsfile必须的,stages是一个个阶段,所有的stage必须要定义在stages里, stages(‘’) 括号里面是名称,这个阶段是什么名称,stages这个名称不能重复,同一个stage名称只能有一个 每一个stage下的 step 要定义在一个 steps 里,stages里面包含了step,具体的执行步骤都写在step里面 ,一行一个,可以写多行 </pre> ==Jenkinsfile(脚本式)== <pre> node { stage('Build') { // } stage('Test') { // } stage('Deploy') { // } } 在脚本式 jenkinsfile 里,你可以定义一个 node 或者多个 node 块,然后在 node 块里 定义你的 stage,在 stage 里定义你的 step 即可 </pre> =进阶advance= [https://www.jenkins.io/zh/doc/book/pipeline/getting-started/ .jenkins.io/zh/doc/book 流水线入门] [https://www.jenkins.io/zh/doc/book/pipeline/getting-started/ jenkins.io 流水线入门] [https://zhuanlan.zhihu.com/p/143552791 Jenkins 声明式流水线的语法错误检查] [https://www.cnblogs.com/mingerlcm/p/12806076.html Pipeline 语法生成器] =是Blue Ocean= https://www.jenkins.io/zh/doc/book/blueocean/ Blue Ocean 重新思考Jenkins的用户体验,从头开始设计Jenkins Pipeline, 但仍然与自由式作业兼容,Blue Ocean减少了混乱而且进一步明确了团队中每个成员 Blue Ocean 的主要特性包括: 持续交付(CD)Pipeline的 复杂可视化 ,可以让您快速直观地理解管道状态。 Pipeline 编辑器 - 引导用户通过直观的、可视化的过程来创建Pipeline,从而使Pipeline的创建变得平易近人。 个性化 以适应团队中每个成员不同角色的需求。 在需要干预和/或出现问题时 精确定位 。 Blue Ocean 展示 Pipeline中需要关注的地方, 简化异常处理,提高生产力 本地集成分支和合并请求, 在与GitHub 和 Bitbucket中的其他人协作编码时实现最大程度的开发人员生产力。 简言之:简化复杂可视化,提供更个性直观的界面,可以精准定位构建失败的位置 [https://www.cnblogs.com/hellxz/p/pipeline_maven_build.html Jenkins教程(四)安装BlueOcean与Maven构建 ] =see also= [https://www.cnblogs.com/mingerlcm/p/12790884.html Jenkins Pipeline介绍] [https://www.cnblogs.com/mingerlcm/p/12727253.html jenkins从头到尾 目录] [https://www.cnblogs.com/mingerlcm/p/12799362.html Jenkins Pipeline示例] [https://www.cnblogs.com/mingerlcm/p/12799493.html 使用 pipeline 实现 monitor 仓库代码的发布 ] [https://www.cnblogs.com/itech/p/12747748.html Jenkins pipeline jenkinsfile的两种写作方式声明式和脚本式 ] [https://objcoding.com/2019/02/16/docker-jenkins-pipeline/ 基于Jenkins Pipeline自动化部署知道个过程而已] [https://www.jianshu.com/p/bcd42b4f9885 Jenkins + Pipeline 自动化部署项目] [https://www.jianshu.com/p/daf32c908ff9 Jenkins + Pipeline 构建流水线发布] [https://www.cnblogs.com/itech/p/12747740.html Jenkins pipeline之声明式的jenkinsfile ] [[category:ops]] [[category:devops]]
返回至
Pipeline
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息