У меня есть файл scriptedJenkins:
node{
build_id = env.BUILD_ID
stage("Clone") {
checkout scm
}
stage("Build"){
def docker_image = docker.build("articlestream:${env.BUILD_ID}")
}
stage("test"){
// we should do testing here in the future
}
stage("Docker Push"){
//our Registry
docker.withRegistry("https://localhost:4000", "docker-registry-credentials") {
docker_image.push("latest")
}
}
}
Я ожидаю, что def docker_image
будет доступен на этапе "Docker Push"
. Однако я получаю следующую ошибку:
groovy.lang.MissingPropertyException: No such property: docker_image for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:270)
at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:291)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:295)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:271)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:271)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:271)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29)
at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
at WorkflowScript.run(WorkflowScript:17)
, которая предполагает, что docker_image не является переменной на данном этапе. Я могу сказать, что докер создает изображение на этапе сборки (проверенные журналы) Может ли кто-нибудь помочь мне перефразировать строку docker_image.push("latest")
, чтобы я мог нажать?