Jenkins管道使用户能够构建完整的持续交付(CD)管道,并作为其应用程序代码的一部分。构建,测试和交付步骤成为应用程序本身的一部分,存储在Jenkinsfile中。声明式管道语法提供了一个简单的预定义层次结构,以使所有经验级别的用户都可以访问管道和相关的Jenkinsfiles的创建。最简单的形式是,管道在代理上运行并包含阶段,而每个阶段都包含定义特定操作的步骤。
pipeline {
agent {
label ''
}
stages {
stage('Build') {
steps{
sh 'mvn install'
}
}
}
}
此外,声明式管道语法还提供以简单的格式控制管道执行环境的各个方面的能力。例如,使用Maven在Docker容器中构建Java应用程序,该容器仅存档和测试"Master"分支,并在六个小时后超时。
pipeline {
agent {
docker {
label ‘docker-node’
image ‘maven’
args ‘-v /tmp:/tmp -p 80:80’
}
}
environment {
GIT_COMMITTER_NAME = ‘jenkins’
}
options {
timeout(6, HOURS)
}
stages {
stage(‘Build’) {
steps {
sh ‘mvn clean install’
}
}
stage(‘Archive’) {
when {
branch ‘*/master’
}
steps {
archive ‘*/target/**/*’
junit ‘*/target/surefire-reports/*.xml’
}
}
}
post {
always {
deleteDir()
}
}
}
pipeline: 定义一条Jenkins管道。
agent: 定义用于执行管道阶段的代理节点。
stages: 流水线所包含的阶段和步骤。
stage: 流水线中的一个阶段
environment: 定义管道运行时环境变量。
options: 定义管道运行时选项。
tools :预先安装的工具可用路径。
triggers: 管道的调度,构建触发器。
parameters:定义管道的运行时参数。
post:定义当管道运行后的操作。
泽阳,DevOps领域实践者。专注于企业级DevOps运维开发技术实践分享,主要以新Linux运维技术、DevOps技术课程为主。丰富的一线实战经验,课程追求实用性获得多数学员认可。课程内容均来源于企业应用,在这里既学习技术又能获取热门技能,欢迎您的到来!(微信ID: devopsvip)