一、pipeline概念
1.什么是PIPELINE
JENKINS 2.0的精髓是PIPELINE AS CODE,是帮助JENKINS实现CI到CD转变的重要角色。什么是PIPELINE,简单来说,就是一套运行于JENKINS上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。 PIPELINE的实现方式是一套GROOVY DSL,任何发布流程都可以表述为一段GROOVY脚本,并且 JENKINS支持从代码库直接读取脚本,从而实现了PIPELINE AS CODE的理念。
2.几个基本概念
1.STAGE-阶段: 一个PIPELINE可以划分为若干个STAGE,每个STAGE代表一组操作。注意,STAGE是一个逻辑分组的概念,可以跨多个NODE。 2.NODE-节点: 一个NODE就是一个JENKINS节点,或者是MASTER,或者是AGENT,是执行STEP的具体运行期环境。 3. STEP-步骤: STEP是最基本的操作单元,小到创建一个目录,大到构建一个DOCKER镜像,由各类JENKINS PLUGIN提供
3.安装插件
在Jenkins插件中心搜索并安装名为pipeline的Jenkins插件
二、构建演示
1.创建项目
2.输入脚本
在项目的流水线里面,输入以下内容,这也是pipeline的基本语法格式
代码语言:javascript复制pipeline{
agent any
stages{
stage('get code'){
steps{
echo "get code from scm"
}
}
stage('package'){
steps{
echo "packge code"
}
}
stage('deploy'){
steps{
echo "deploy packge to node1"
}
}
}
}
截图如下
3.执行构建
构建成功后,历史记录如图,会显示每个步骤的执行结果,执行时间如下图
点击任意一个步骤,会弹出步骤日志,再点击日志,可以查看这个步骤的执行情况
三、用语法生成器辅助构建html
pipeline语法有一定的格式和写法,我们只需要记住上面的统一格式,然后具体的语法可以用语法生成器生成,然后复制进去即可,
1.语法生成器使用
- 实例 每个不同的功能语法是不一样的,在语法生成器的示例步骤中,选择你要做的操作类别,然后正常操作每个选项后,按下边的语法生成器生成即可
- 拉去代码示例[git] 界面选择
语法生成 点击生成流水线脚本后,就会将上面的操作给你变成pipeline脚本,如下 然后将这个脚本复制到对应的步骤中即可
2.最终代码
1)代码
代码语言:javascript复制pipeline{
agent any
stages{
stage('get code'){
steps{
checkout([$class: 'GitSCM', branches: [[name: '*/dev']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'git@10.0.0.12:root/monitor.git']]])
}
}
stage('package'){
steps{
sh 'tar zcf /opt/web.tar.gz ./* --exclude=.git'
}
}
stage('deploy'){
steps{
sh 'scp /opt/web.tar.gz 10.0.0.11:/tmp && ssh 10.0.0.11 "tar xf /tmp/web.tar.gz -C /data/html/www/"'
}
}
}
}
- 截图
3.构建和结果
1)构建
2)结果