如果没有properties
部分,类似下面的Jenkins文件可以正常工作。但是当我添加properties
Jenkins作业失败时
java.lang.NoSuchMethodError: No such DSL method 'properties' found among steps [archive, bat, build, catchError, checkout, container, containerLog, deleteDir, dir, dockerFingerprintFrom, dockerFingerprintRun, echo, error, .....
我也尝试将它放在根部分中,但结果相同。所以,我不知道现在放在哪里。
Jenkinsfile
def label = "worker-${UUID.randomUUID().toString()}"
podTemplate(label: label, containers: [
containerTemplate(name: 'kubectl', image: 'lachlanevenson/k8s-kubectl:v1.8.8', command: 'cat', ttyEnabled: true)
],
volumes: [
]) {
node(label) {
properties(
[
[
$class : 'jenkins.model.BuildDiscarderProperty',
strategy: [
$class: 'LogRotator',
numToKeepStr: '50'
]
],
pipelineTriggers(
[
[
$class: 'hudson.triggers.TimerTrigger',
spec : "*/5 * * * *"
]
]
)
]
)
stage('Run kubectl') {
container('kubectl') {
withEnv([
"ES_URL=elasticsearch.storage:9200"
]){
sh """
kubectl run -it --rm=true busybox-curl --image=yauritux/busybox-curl --restart=Never -- curl "$ES_URL"
"""
}
}
}
}
Jenkins正在Kubernetes上运行。要设置Jenkins,我使用了stable/jenkins helm chart。
谢谢!
答案 0 :(得分:2)
好的,我已经找到了问题所在。有些插件没有更新,显然会引起一些冲突。我更新了所有插件,但问题已经消失。