Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida sobre estratégia de integração contínua

Boa tarde,

Suponto que eu tenha um desenvolvedor Antônio desenvolvendo a versão ant1 e um desenvolvedor José desenvolvendo a versão ant2.

Supondo que eu criei uma branch chamada develop baseada na master que será responsável pela integração das outras branchs e a master fica isolada. Antônio cria a branch ant1 baseada na master e da push, José cria a branch ant2 baseada na master e da push.

O jenkins então, pega as 2 novas branchs e faz merge com a branch develop tenstanto assim a integração entre as 2 branchs. José termina primeiro e a versão que deve ir para produção é a versão ant2 mergeado com master, sem as alterações da ant1.

Como fazer isso automaticamente?

1 resposta
solução!

Olá Leandro, tudo bem? Peço desculpas pela demora em ti responder! Nesse cenário acho que branch "develop" deve ser a base para esses dois outros branchs ("ant1", "ant2"), porque esse branch ("develop") é a branch em que devemos manipular e a branch "master" deve ser sempre o código que está executando no momento, que está no nosso servidor de produção. Vejo essa como a melhor estrategia e a mais utilizada nas fábricas de softwares. Por isso, que expliquei anteriormente, não devemos deixar o deploy para a branch master (a branch de produção) automático, porque podem haver erros, porém nessa branch não deve conter nenhum erro ou conflito, e as versões de produção não são tão constantes como as versões da branch "develop", assim alguém da equipe, o líder pode ficar responsável por fazer o merge do código que estiver na branch "develop" para a branch "master".

Porém respondendo sua dúvida, você poderia indicar no Jenkins, por meio do botão "Add Branch" o branch em qua você deseja realizar o build, que seria o branch master, e logo depois do Build, enviar as modificações em caso de sucesso no Build para o seu repositório.

Espero ter ajudado!