问题
Snippet generator created a properties block for me. First run reported
WorkflowScript: 1: The properties section has been renamed as of version 0.8. Use options instead. @ line 1, column 1.
pipeline {
Replacing properties to optionsresults with the following error:
Errors encountered validating Jenkinsfile:
WorkflowScript: 4: options can not be empty @ line 4, column 5.
options([$class: 'ThrottleJobProperty',
Here is the full jenkinsfile for reference
pipeline {
agent any
options([[$class: 'ThrottleJobProperty',
categories: ['xcodebuild'],
limitOneJobWithMatchingParams: false,
maxConcurrentPerNode: 0,
maxConcurrentTotal: 0,
paramsToUseForLimit: '',
throttleEnabled: true,
throttleOption: 'category']])
stages {
stage("Empty" {
steps {
echo "Do nothing"
}
}
}
}
回答1:
TLDR
It's no longer possible to use custom $class in the options
Note that
[$class: 'Foo', arg1: 'something', ...]syntax can not be used, onlybooleanParam(...)and the like.
Full Options Syntax
- Description: Traditional
JobPropertys, such asbuildDiscarderordisableConcurrentBuilds, Declarative-specifc options, such asskipDefaultCheckout, and "wrappers" that should wrap the entire build, such astimeout. - Required: No
- Allowed In: Top-level
pipelineclosure only. - Parameters: None
- Takes a Closure: Yes
- Closure Contents: A sequence of one or more Declarative option or job property configurations, using
@Symbolnames for constructors.- Note that
[$class: 'Foo', arg1: 'something', ...]syntax can not be used, onlybooleanParam(...)and the like. - Note that the
parametersandpipelineTriggers@Symbols cannot be used here directly.
- Note that
Example:
options {
buildDiscarder(logRotator(numToKeepStr:'1'))
disableConcurrentBuilds()
}
Source
来源:https://stackoverflow.com/questions/41884503/how-to-use-jenkins-pipeline-options-correctly