Parâmetros pré-definidos não são mais passados para o trabalho filho
Atualizei o Jenkins hoje de 1.618 para 2.3. Isso incluiu a instalação de vários plugins recomendados (principalmente plug-ins do Pipeline e suas dependências).
Desde a atualização, recebo um novo erro (ou, pelo menos, um novo comportamento indesejado) sempre que um trabalho inicia outro trabalho. Quaisquer valores passados para o filho como "Parâmetros predefinidos" serão ignorados, a menos que o trabalho filho já tenha essas chaves definidas.
Deixe-me ilustrar: digamos que tenho umparent
trabalho e umchild
trabalho.
Parent
lançamentoschild
por meio de uma ação pós-compilação "Acionar construção parametrizada em outros projetos". Na definição dessa ação pós-compilação, sob os "Parâmetros predefinidos", tenhoFOO=BAR
definiram.
Em Jenkins 1.618, quandochild
foi acionado dessa maneira, teriaFOO
definido como um parâmetro, com um valor deBAR
.
Mas em 2.3,FOO
não está definido nessa construção dechild
.
Se eu modificarchild
de modo aFOO
é sempre um parâmetro desse trabalho, ele seleciona oFOO=BAR
definir deparent
. Essa é uma solução inaceitável, porque passamos dezenas de parâmetros dessa maneira, e defini-los nas duas extremidades é muito frágil e viola o princípio "não se repita".
Eu obtenho os mesmos resultados, independentemente de eu estar acionando o trabalho filho por meio da Ação Pós-compilação "Construção parametrizada em outros projetos" ou por meio de uma fase MultiJob de um projeto MultiJob.
Esta é uma mudança pretendida? Estava quebrado antes e estávamos usando incorretamente? Ou isso é um bug?