一,语法:
编写位置:
pipline 启动docker
pipeline {
agent { docker 'maven:3.3.3' }
stages {
stage('build') {
steps {
sh 'mvn --version'
}
}
}
}
执行shell
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'echo "Hello World"'
sh '''
echo "Multiline shell steps works too"
ls -lah
'''
}
}
}
}
超时配置
“包装”其他步骤,可以轻松地解决问题,如重试(retry
)步骤,直到成功或退出,如果步骤太长(timeout
)
pipeline {
agent any
stages {
stage('Deploy') {
steps {
retry() {
sh './flakey-deploy.sh'
} timeout(time: , unit: 'MINUTES') {
sh './health-check.sh'
}
}
}
}
}
对应执行结果执行不同内容
pipeline {
agent any
stages {
stage('Test') {
steps {
sh 'echo "Fail!"; exit 1'
}
}
}
post {
always {
echo 'This will always run'
}
success {
echo 'This will run only if successful'
}
failure {
echo 'This will run only if failed'
}
unstable {
echo 'This will run only if the run was marked as unstable'
}
changed {
echo 'This will run only if the state of the Pipeline has changed'
echo 'For example, if the Pipeline was previously failing but is now successful'
}
}
}
dock er 内执行命令
node {
/* Requires the Docker Pipeline plugin to be installed */
docker.image('node:7-alpine').inside {
stage('Test') {
sh 'node --version'
}
}
}
基本流程
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building'
}
}
stage('Test') {
steps {
echo 'Testing'
}
}
stage('Deploy') {
steps {
echo 'Deploying'
}
}
}
}
出处
https://www.w3cschool.cn/jenkins/jenkins-jg9528pb.html