流水线有两种方式:
1、脚本式流水线
2、声明式流水线
构建流水线的简单示例:
- 脚本式流水线
node ('master'){
stage("Source"){
//从Git仓库中获取代码
git 'https://github.com/brentlaster/gradle-greetings.git'
}
stage("Build"){
}
stage("Test"){
}
stage("push"){
}
}
- 声明式流水线
pipeline {
agent {label 'master'}
stages {
stage('Source') {
//拉取构建源码
steps {
//从git仓库中获取代码
git 'https://github.com/brentlaster/gradle-greetings.git'
}
}
stage('Build') {
steps {
//运行构建
bat "echo 'Build'"
}
}
stage('Test') {
steps {
//测试
bat "echo 'Test'"
}
}
stage('Push') {
steps {
//发布上线
bat "echo Push"
}
}
}
}
脚本式流水线和声明式流水线的区别:
脚本式流水线
- 优点:脚本灵活性更高、可以构建更复杂的流水线
- 缺点:脚本代码结构不清晰不容易维护
声明式流水线:
- 优点:脚本灵活性比脚本式较低,一样可构建流水线,脚本代码结构清晰容易维护
- 缺点:构建复杂的流水线会变的更困难
流水线的第三中模式:jenkinsfile
Jenkinsfile可以脱离Jenkins,独立存在于其他地方的流水线构建脚本,jenkinsfile可以位于工程项目代码中,当项目被拉取时,Jenkins会自动读取jenkinsfile文件,并自动实现流水线的构造