开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情
Jenkins流水线已在CI/CD环境中广泛使用。今天我们主要介绍了编写示例脚本展示声明式流水线的核心语法元素。就像昨天说的那样,声明式提供了更加友好的语法,而无需Groovy知识~
必要条件
首先必须使用pipeline语句定义有效的声明式流水线,并包括以下必需的部分:
- agent
- stages
- stage
- steps
我们将从所需的指令/部分开始,对列出的每个指令/部分进行描述
agent
Jenkins通过将分布式构建委托给“代理/agent”节点来提供执行分布式构建的能力。这样做可以使您仅使用Jenkins服务器的一个实例来执行多个项目,而工作负载却被分配给了它的代理。。“agent”部分配置流水线可以在哪些节点上运行。指定
agent any意味着Jenkins将在任何可用节点上运行作业。
其用法的一个示例可以是:
pipeline {
agent any
...
}
stages
允许在流水线上生成不同的阶段,这些阶段将在运行作业时显示为不同的段
一个包含阶段语句的示例流水线:
pipeline {
agent any
stages {
...
}
}
stage
必须在“stages”部分上定义至少一个“stage”部分。它将包含流水线将执行的工作。阶段必须命名,Jenkins将在界面上显示每个阶段,如下所示:
图片参考:blog.csdn.net/qq_32106893…
Jenkins根据定义的阶段以图形方式拆分流水线执行,并显示它们的持续时间以及是否成功
pipeline {
agent any
stages {
stage ('build') {
...
}
stage ('test: integration-&-quality') {
...
}
stage ('test: functional') {
...
}
stage ('test: load-&-security') {
...
}
stage ('approval') {
...
}
stage ('deploy:prod') {
...
}
}
}
steps
最后一个必需的部分是“steps”,它被定义为在“stage”内。在“steps”部分中必须至少定义一个步骤
steps {
sh 'echo "A one line step"'
sh '''
echo "A multiline step"'
cd /tests/results
ls -lrt
'''
}
写在最后
重新开始更文啦!最近因为工作原因,一直在学习devops的内容,感谢大家的支持!我会继续努力坚持学习!养成了好习惯,每天必定会抽出时间多多少少学习技术知识~
以上习题&笔记从大佬们的论坛学习而来,特感谢大佬们的知识分享~ (学习技术知识,果然要看大佬们的技术博客,大家有好的推荐也欢迎指引我这个小白哈,感恩!)
学习大神博客: