詹金斯 "No such DSL method 'steps' found among steps"

Jenkins "No such DSL method 'steps' found among steps"

Jenkins 输出错误..

[支票 API] 未找到合适的支票发布者。

java.lang.NoSuchMethodError: 在步骤

中找不到这样的 DSL 方法 'steps'

我的詹金斯档案。

node {
 stage('Clone repository') {
     checkout scm
 }
 stage('Build packer') {
     steps {
         dir('packer') {
             sh 'git clone https://github.com/changhyuni/packer'
             sh 'packer build ec2.json'
         }
     }
 }

 stage('Build image') {
     app = docker.build("475667265637.dkr.ecr.ap-northeast-2.amazonaws.com/chang")
 }
 
 stage('Create ECR') {
     sh 'pip3 install boto3 --upgrade'
     sh 'python3 ecr.py'  
 }


 stage('Push image') {
     sh 'rm  ~/.dockercfg || true'
     sh 'rm ~/.docker/config.json || true'
     
     docker.withRegistry('https://475667265637.dkr.ecr.ap-northeast-2.amazonaws.com', 'ecr:ap-northeast-2:chang-aws-ecr') {
         app.push("chang")
         app.push("${env.BUILD_NUMBER}")
         app.push("latest")
  }
 }
}

steps 是来自声明性语法的指令 https://www.jenkins.io/doc/book/pipeline/syntax/#steps

您的示例是脚本语法https://www.jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline