[TOC]
## 声明式pipeline
在声明式流水线语法中,流水线过程定义在 Pipeline{}中,Pipeline 块定义了整个流水线中完成的所有工作,比如
**参数说明**:
* agent any:在任何可用的代理上执行流水线或它的任何阶段,也就是执行流水线过程的位置,也可以指定到具体的节点
* stage:定义流水线的执行过程(相当于一个阶段),比如下文所示的 Build、Test、Deploy, 但是这个名字是根据实际情况进行定义的,并非固定的名字
* steps:执行某阶段具体的步骤。
~~~json
//Jenkinsfile (Declarative Pipeline)
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Build'
}
}
stage('Test') {
steps {
echo 'Test'
}
}
stage('Deploy') {
steps {
echo 'Deploy'
}
}
}
}
~~~
## 脚本化pipeline
在脚本化流水线语法中,会有一个或多个 Node(节点)块在整个流水线中执行核心工作
**参数说明**:
* node:在任何可用的代理上执行流水线或它的任何阶段,也可以指定到具体的节点
* stage:和声明式的含义一致,定义流水线的阶段。Stage 块在脚本化流水线语法中是可选的,然而在脚本化流水线中实现 stage 块,可以清楚地在Jenkins UI界面中显示每个stage的任务子集。
~~~json
//Jenkinsfile (Scripted Pipeline)
node {
stage('Build') {
echo 'Build'
}
stage('Test') {
echo 'Test'
}
stage('Deploy') {
echo 'Deploy'
}
}
~~~
## 编写声明式例子测试
```sh
pipeline {
agent any
// 存放所有任务的合集
stages {
stage('拉取Git代码') {
steps {
echo '拉取Git代码'
}
}
stage('检测代码质量') {
steps {
echo '检测代码质量'
}
}
stage('构建代码') {
steps {
echo '构建代码'
}
}
stage('制作自定义镜像并发布Harbor') {
steps {
echo '制作自定义镜像并发布Harbor'
}
}
stage('基于Harbor部署工程') {
steps {
echo '基于Harbor部署工程'
}
}
}
}
```
| 配置Grovvy脚本 |
| :----------------------------------------------------------: |
| ![](https://img.kancloud.cn/e2/ec/e2ecf26c1f13e7839555f673029850a6_1920x781.png)|
- 查看效果
| 查看效果 |
| :----------------------------------------------------------: |
| ![](https://img.kancloud.cn/bd/ab/bdab2546e12a4fb905a3d3ad741f1cae_1920x783.png) |
**Ps:涉及到特定脚本,Jenkins给予了充足的提示,可以自动生成命令**
| 生成命令位置 |
| :----------------------------------------------------------: |
| ![](https://img.kancloud.cn/4a/51/4a512c0853adcf59a8a5cffb369eee10_1920x884.png)|
- DevOps介绍
- 持续集成流程
- git工作流实践
- 新人准备git环境
- git工作流最佳实践
- jenkins基础入门
- jenkins简介
- jenkins安装(docker)
- 源码拉取
- maven构建
- 应用发布
- 结合gitlab版本管理
- jenkins-docker部署
- harbor镜像发布
- jenkins集成SonarQube
- SonarQube代码检测
- 集成SonarQube
- jenkins-pipeline
- 构建pipeline任务
- pipeline基础结构
- pipeline核心语法
- jenkinsfile构建
- 完整案例
- 整合钉钉发送通知
- 脚本使用凭证信息
- jenkins结合k8s使用
- k8s架构及基础概念
- k8s操作命令
- jenkins部署k8s
- 附录(其他未完成)
- jenkins高可用服务搭建
- gitlab-docker环境搭建
- 开发人员安装git
- JDK与maven
- docker安装gitlab
- docker安装
- docker-compose安装
- harbor安装
- SonarQube安装
- 2.暂时没写的内容
- 构建结果邮件发送
- 已有项目上传gitlab