Этот скрипт будет скомпилирован groovy в класс Script с определением поля внутри метода run
и с другим методом withCredentials
, который пытается получить доступ к полю (вроде этого):
import common.pipeline.Credentials
class Script1 extends Script {
def withCredentials(steps) {
credentials.productionPipeline(steps)
}
def run(args) {
Credentials credentials = new Credentials()
}
}
Как видите, это не сработает, поскольку учетные данные не находятся на уровне поля в классе ...
Groovy имеет аннотацию, чтобы это произошло:
#!/usr/bin/groovy
package common.pipeline
import common.pipeline.Credentials
import groovy.transform.Field
@Field Credentials credentials = new Credentials()
def withCredentials(steps) {
credentials.productionPipeline(steps)
}