Utilizamos os componentes que ficam armazenados no endereço: https://arte.engpro.totvs.com.br/engenharia/bundles/SmartERP/base/imagem/componentes/. Neste endereço temos todos os componentes abertos para que o time de engenharia do Smart ERP realize a atualização dos componentes sempre que houver a solicitação pelos times de TEC, FRAME e Produto. Dentro das pastas temos uma subdivisão entre os tipos de ambientes (produção, sistêmico e tecnologia). Para cada um deles, temos a separação dos componentes para que um não interfira nos testes de outros ambientes. Ex. Estamos atuando em uma feature no ambiente de TEC com binários pré-release e no ambiente do Sistêmico estamos utilizando o binário oficial para a homologação. Em cada folder, existe um arquivo chamado VERSION. Neste arquivo informamos a versão do componente a ser gerado.
IMPORTANTE: Para a geração do RPO que utilizamos nos ambientes do SMART (Produção), copiamos o artefato na pasta https://arte.engpro.totvs.com.br/engenharia/bundles/smarterp/base/topologia/rpo_smarterp/ e para o sistemico utilizamos a pasta https://arte.engpro.totvs.com.br/engenharia/bundles/smarterp/base/topologia/rpo_sistemico/ A montagem base do RPO do sistêmico é o D-1 da versão 12.1.2210 e compilado os artefatos utilizados pelo SMARTERP. Após termos os componentes atualizados, compactamos os componentes no formato tar.gz e disponibilizamos no bucket no Arte. Para saber os nomes corretos dos artefatos, recomendo entrar no folder https://arte.engpro.totvs.com.br/engenharia/bundles/smarterp/espelho/ do componente a ser atualizado, copiar o nome exato de lá. Lembrando que o subfolder do componente é a versão que utilizamos para o componente. É uma forma simples de versionamento de componentes. Conforme mencionado acima, o versionamento dos componentes são realizados através de folders dentro do folder no Arte, após copiado o artefato para um novo FOLDER, coletamos o nome do FOLDER e "linkamos" este componente com a versão da imagem a ser gerada. As imagens estão dispostas em repositórios dentro do GITEA (https://code.engpro.totvs.com.br/smarterp/), separados por componentes/imagens a serem utilizados. Cada repositório possui um artefato chamado component-versions.mk e dentro dele informamos/linkamos o componente que disponibilizamos no Arte. Com a atualização do arquivo, geramos uma BRANCH de versão com a finalidade de gerarmos a versão de uma nova imagem.
O processo é realizado de forma automática, com a finalização do PUSH da branch, através Jenkins (https://james.engpro.totvs.com.br/view/all/job/smarterp/). (Sugiro que realizem o acompanhamento da build no jenkins até a finalização). Importante: Utilizamos o processo de GITFLOW para todos os repositórios do SmartERP, ou seja, devemos sempre utilizar a branch develop para iniciar o processo de inovação/fix e gerar uma nova branch com os commits gerados. Ao término do processo de construção e homologação dos componentes do repositório, abrimos uma PR para a branch develop e após aprovação de pelo menos um dos responsáveis pelo repositório é que deverá ser realizado o merge com a develop. Com a conclusão e homologação em develop, deverá ser aberto um PR para mergear com a MASTER. Este processo é para garantirmos que não iremos subir coisas não testadas na imagem e também para aglutinarmos várias correções antes de subirmos para a master. A pessoa que abriu o PR é que deverá realizar o MERGE.
|