Integração ambientes de desenvolvimento e Jenkins
A atualização do sistema para cada versão executará também as migrations. Quando uma nova migration for criada, siga o passo a passo abaixo para validar as alterações em ambiente de desenvolvimento ou no ambiente de testes automatizados no Jenkins do ERP.
No repositório do serviço Korp.AtualizacaoSistema, crie branchs iniciadas com o nome da issue que está sendo atendida.
Exemplo: ERPK-1234, ERPK-1234-master, ERPK-1234-release.
Faça a implementação de novas migrations, seguindo o passo a passo da documentação: “Como criar uma migration”.
Incluir a alteração em todas versões desejadas. Exemplo: 2024.2, 2024.3.
Abra os Pull Requests das implementações realizadas no repositório do serviço Korp.AtualizacaoSistema.
Necessário abrir Pull Request para as branchs
mastere as respectivasreleasesdo serviço que necessitam da alteração.O Jenkins irá buildar sua implementação, e vai gerar o executável do serviço no caminho:
192...\Jenkins\AtualizacaoSistema\{Nome do seu branch}\.O serviço do Korp.AtualizacaoSistema gerado do Pull Request da
master, será utilizado em todos seus Pull Requests do ERP, independente de versão.
No repositório do ERP, crie o branch contendo o nome da issue que está sendo atendida.
Exemplo: bugfix/ERPK-1234-dev
Na pasta
RepositorioTesteUnitario\CriacaoBaseTeste, execute o CriarBaseTeste.bat.Com isso a base de testes será recriada, e o FlowTest irá utilizar o executável do serviço Korp.AtualizacaoSistema buildado para o seu branch. Isso funcionará, no ambiente de desenvolvimento do programador, e no Pull Request aberto para o repositório do ERP.
Execute o comanda
SELECT * FROM ATUALIZACAO_SISTEMA_MIGRATIONS_HISTORYjunto ao banco, a fim de verificar se a migration implementada foi executada.Exemplo migration
20240813141025_tecn_11.sql: Na tabela deverá conter o registro com o campoversion_idigual a20240813141025.
Desenvolva ou corrija os testes unitários que validem as alterações implementadas.
Abra o Pull Request das alterações realizadas no repositório do ERP.
Adicionar no Pull Request do ERP um comentário com o link para o Pull Request do Korp.AtualizacaoSistema, para que a qualidade saiba que seu Pull Request depende do merge de outro repositório.
Exemplo:
Atenção!! Este pull request depende do merge prévio do pull request no repositório Korp.AtualizacaoSistema. Link http://...
Atenção: Os Pull Requests das implementações realizadas no serviço Korp.AtualizacaoSistema, sempre deverá ser mesclado primeiro, antes de mesclar o Pull Request do ERP. Caso contrário, o build da
developoureleaseirá usar o serviço de migrations que não contem as migrations implementadas.
Para disponibilizar o serviço Korp.AtualizacaoSistema aos clientes, siga as instruções detalhadas na documentação: “Liberação da Tag do serviço”
Lembre-se: Todas as versões que forem liberadas devem passar pela aprovação do Alexandre antes de serem disponibilizadas em produção.
Warning
Após mesclar os Pull Requests do repositório do Korp.AtualizacaoSistema, não será possível realizar alteração das migrations, sendo necessário criar uma nova migration com as correções.
Caso o FlowTest não localize o diretório do Korp.AtualizacaoSistema criado pelo Pull Request, será utilizado o caminho padrão configurado no Jenkins ou no arquivo de configuração do FlowTest. Sendo utilizado o branch de destino (
developourelease). Caso ainda assim não encontre, será utilizado o darelease(ultima versão estável).O nome da branch do ERP será formatado para localizar o Pull Request criado para o serviço, onde irá o projeto e número da issue, retirando informações antes do
/e após o segundo-. Exemplo: bugfix/ERPK-1234-dev que irá resultar em: ERPK-1234.Assim que for mesclado o Pull Request das alterações do serviço na
master, o Jenkins irá buildar e atualizar o ambiente da qualidadeQA-DEV.Quando for mesclado na
releasedo serviço, os ambientesQA-HMLGserão atualizados.Quando gerar tag da
releasedo serviço, os ambientesPRDnuvem serão atualizados, e durante a noite clientes on-premise serão atualizados.