我正在开始学习Jenkins声明式流水线。从我看到的一些示例中,我注意到Jenkinsfile是通过Pipeline指令设置的:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'make'
}
}
stage('Test'){
steps {
sh 'make check'
junit 'reports/**/*.xml'
}
}
stage('Deploy') {
steps {
sh 'make publish'
}
}
}
}
在其他的例子中,我注意到Jenkinsfile是通过node指令来设置的:node {
stage 'Checkout'
checkout scm
stage 'Build'
bat 'nuget restore SolutionName.sln'
bat "\"${tool 'MSBuild'}\" SolutionName.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /p:ProductVersion=1.0.0.${env.BUILD_NUMBER}"
stage 'Archive'
archive 'ProjectName/bin/Release/**'
}
我无法找到关于何时/为什么使用它们的可靠文档。是否有人知道它们的区别以及何时适用于它们之一?
我不确定,但我认为“node”指令用于脚本管道,而不是声明性管道。
提前感谢任何指导。