Я управляю многими работами в Jenkins с помощью плагина DSL. Этот плагин использует определения .groovy, поэтому я думаю, что даже если кто-то не использует Jenkins, но использование groovy может помочь.
Как правило, я хочу создать дополнительный файл, который может быть Groovy, JSON или YAML, что угодно. Важна возможность подключения этого файла к моему файлу .groovy.
В этом файле я определяю переменные (а не просто строки), например, IP-адрес или другие вещи, например.
ip_gitlab: 1.2.3.4
default_user: admin
В моих отличных файлах я хочу использовать эти переменные.
Такой подход возможен в заводной?
class GLOBAL{ def a=111; def b=222; }
. тогда в коде вы сможете получить к нему доступGLOBAL.a
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'org.codehaus.groovy.runtime.InvokerHelper$1@641eff69' with class 'org.codehaus.groovy.runtime.InvokerHelper$1' to class 'javaposse.jobdsl.dsl.JobParent'
эта ошибка возникает при обработке вашего класса GLOBALstatic
префикс.class GLOBAL{ static def a=111; static def b=222; }
, но ошибка у вас странная. Не могли бы вы показать объявленную вами переменную и то, как вы ее используете в dsl.Ответы:
Я предлагаю использовать файл свойств, как писал @JBaruch
И загрузить его
Тогда вы можете использовать его, например, получить IP:
источник
FATAL: test.properties (No such file or directory) java.io.FileNotFoundException: test.properties (No such file or directory)
readFile
jenkins.io/doc/pipeline/steps/workflow-basic-stepsСделайте groovy файл и определите некоторую общую информацию и использование
load
.Например, hello.conf (написанный groovy)
И использовать его
load
источник
ERROR: (pipeline.groovy, line 1) No signature of method: pipeline.load() is applicable for argument types: (java.lang.String) values: [a_test.groovy]Possible solutions: job(java.lang.String), find(), folder(java.lang.String), job(java.lang.String, groovy.lang.Closure), find(groovy.lang.Closure), wait()
если вы хотите получить конкретный ответ от Jenkins: для jenkins есть плагин поставщика файла конфигурации.
Вы можете хранить файлы конфигурации / свойств через управляемые файлы. Перейдите в Управление Jenkins> Управляемые файлы и создайте новый файл. Поддерживаются .groovy, .json, .xml и многие другие.
Получив этот файл, вы можете загрузить указанный файл в задание, используя флажок «Предоставить файл конфигурации», который автоматически загрузит файл в переменную env.
источник