Estou gerenciando muitos trabalhos no Jenkins pelo plugin DSL. Esse plug-in está usando definições .groovy, então acho que mesmo se alguém não usar Jenkins, mas usar groovy, poderá ajudar.
Geralmente, quero criar um arquivo adicional, que pode ser um arquivo groovy, JSON ou YAML, qualquer que seja. É importante a possibilidade de conectar esse arquivo ao meu arquivo .groovy.
Nesse arquivo, estou definindo variáveis (em vez de apenas cadeias), por exemplo, endereço IP ou outras coisas, por exemplo.
ip_gitlab: 1.2.3.4
default_user: admin
Nos meus arquivos groovy, quero poder usar essas variáveis.
Essa abordagem é possível no groovy?
class GLOBAL{ def a=111; def b=222; }
. em seguida, no código que você deve ser capaz de acessá-loGLOBAL.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'
Este erro ocorre durante o processamento da sua classe GLOBALstatic
prefixo.class GLOBAL{ static def a=111; static def b=222; }
. mas o erro que você tem é estranho. você pode mostrar a variável que declarou e como usá-la no dsl.Respostas:
Sugiro usar um arquivo de propriedades como @JBaruch escreveu
E carregue
Então você pode usá-lo, obtenha ip por exemplo:
fonte
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-stepsCrie um arquivo groovy e defina algumas informações gerais e use
load
.Por exemplo, hello.conf (escrito por groovy)
E use-o
load
fonte
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()
se você quiser uma resposta específica do Jenkins: Existe um plug-in de provedor de arquivos de configuração - para o jenkins.
Você pode armazenar arquivos de configuração / propriedades por meio de arquivos gerenciados. Vá para Gerenciar Jenkins> Arquivos gerenciados e crie um novo arquivo. Ele suporta .groovy, .json, .xml e muitos outros.
Depois disso, você poderá carregar o arquivo em um trabalho usando a caixa de seleção Fornecer arquivo de configuração, que carregará o arquivo em uma variável env automaticamente.
fonte