技术学习分享_一航技术 技术资讯 Jenkins Pipeline学习网站

Jenkins Pipeline学习网站

广告位

1.前言

Jenkins Pipeline as code 支持两种语法:

Declarative Pipeline
Scripted Pipeline

Declarative Pipeline 可以使用Jenkins 的一些内置方法来简化Jenkinsfile, 但是Scripted Pipeline更加灵活。好在Jenkins在Declarative Pipeline中也支持通过script {…} 来嵌入Scripted Pipeline。

2.Jenkins Pipeline 官方文档

https://jenkins.io/doc/book/pipeline/
https://go.cloudbees.com/docs/cloudbees-documentation/use/reference/pipeline/#_pipeline_syntax_reference

注:Jenkins的主要开发者来自CloudBees

3.Jenkins Pipeline例子

Jenkins在Pipeline Job的配置界面提供了Pipeline Syntax 教程, 并提供了Pipeline Syntax Generator来帮助生成Pipeline片段。

但是有时候这仍然不足够,需要一些“真实”的Jenkins Pipeline 例子来帮助我们更加快速的开发Pipeline。

我正在整理相关Jenkins Pipeline的例子放在GitHub上:

https://github.com/cookcodeblog/jenkins-pipeline-examples

Jenkins 官方Pipeline例子:

https://jenkins.io/doc/pipeline/examples/
https://go.cloudbees.com/docs/cloudbees-documentation/use/reference/pipeline/#_pipeline_syntax_reference

Jenkins 官方Pipeline的GitHub repository:

https://github.com/jenkinsci/pipeline-examples

其中 .groovy 文件都是Jenkins Pipeline的例子。

4.Jenkins Pipeline 库文件

Jenkins Pipeline也支持库文件 (Shared Libraries) 从而可以避免在不同repository的Jenkinsfile中写重复的代码。参见:

https://jenkins.io/doc/book/pipeline/shared-libraries/

第三方Jenkins Pipeline库文件:

https://github.com/fabric8io/jenkins-pipeline-library
https://github.com/funkwerk/jenkins-workflow
https://github.com/docker/jenkins-pipeline-scripts

对库文件部分,以后使用到再补充。

5.Jenkins Pipeline 小技巧

在一个项目的repository下分别创建Jenkinsfile来作持续集成、部署到测试环境、部署到生产环境,例如:

(1).ci.Jenkinsfile 用来作持续集成,包括代码静态分析、单元测试、打包、打镜像,但是不把包/镜像推送到仓库,也不部署到环境

(2).test.Jenkinsfile 用来做测试环境的持续交付,除了持续集成的步骤外,还要把包/镜像推送到仓库,并且部署到测试环境

(3).prod.Jenkinsfile 用在测试环境验证过的包/镜像部署到生产环境,而不是再从源代码开始打包

(4).使用Jenkins Pipeline的replay功能来调试Pipeline,可以避免修复错误前需要频繁提交Jenkinsfile

本文来自网络,不代表技术学习分享_一航技术立场,转载请注明出处。

作者: 一航技术

上一篇
下一篇
广告位

发表回复

返回顶部