Como usar os drivers de mesclagem do Git com Jenkins

1

Eu recentemente procurei uma maneira de mesclar pom.xml-s automaticamente com o driver de mesclagem do Git. Funcionou localmente, mas agora gostaria de adicionar essa solução a Jenkins - sem sorte até agora.

O que eu fiz:

1) Eu adicionei estas linhas ao /root/.gitconfig:

[merge "pommerge"]
    name = A custom merge driver for Maven's pom.xml
    driver = /usr/bin/mergepom.py %O %A %B

2) Arquivo criado .gitattributes no mesmo diretório e linha adicionada:

pom.xml merge=pommerge

3) Transferiu o mergepom.py para / usr / bin

    
por user212154 24.01.2017 / 15:32

2 respostas

0

Primeiro, você deve usar um caminho absoluto para a parte do driver, conforme as instruções no link (que eu acho que é o que você usa ou um garfo dele - portanto, use /usr/bin/mergepom.py %O %A %B para o driver no seu caso.

Em segundo lugar, é provável que o arquivo de atributos git de todo o sistema esteja em $ HOME / .config / git / attributes de acordo com link

Em terceiro lugar, é um ponto mais filosófico - mesclar arquivos automaticamente usando Jenkins geralmente é uma má idéia; Você pode considerar alterar seu fluxo de trabalho para que os usuários façam as mesclagens e o Jenkins avalie suas mesclagens. Por que o trabalho do Jenkins está realizando mesclagens (mesclando automaticamente as ramificações do release para o branch master)? Um usuário pode ou deve fazê-lo?

    
por 25.01.2017 / 15:42
0

Ah, sim, o local já era /usr/bin/mergepom.py% O% A% B, copiou o caminho original do env local

Parecia, mas não há nada sob $ HOME / .config. Encontrou alguns ganchos em / usr / share / git-core / contrib / hooks. Testará isso algum dia.

Bem, os conflitos de mesclagem ainda serão resolvidos manualmente, mas quando houver mesclagem direta, o Jenkins reduzirá significativamente o tempo com mesclagens automáticas que, de outra forma, seriam gastas passando pelo pom.xml-s manualmente. O projeto em que estou tem cerca de 75 pom.xml-s.

    
por 25.01.2017 / 18:32