Árvore de páginas


THF-COMPONENTS



O documento a seguir tem como objetivo documentar a utilização dos pipelines na plataforma Azure Devops para a publicação do projeto THF-COMPONENTS


Os arquivos da página Angular e seus respectivos pipelines estão hospedados no projeto AzureDevops - THF na plataforma Azure Devops Totvs.

Todos os processos listados nos próximos tópicos desta documentação serão executados na plataforma.


Atualmente o pacote NPM @totvs/thf-components é publicado no seguinte endereço: https://npm.totvs.io/-/web/detail/@totvs/thf-components

O NPM.TOTVS.IO é um registry interno para publicação de pacotes exclusivos da Totvs.


Repositório de arquivos do THF-Componentes

https://totvstfs.visualstudio.com/THF/_git/thf-components

Branches padrões

    • Main
    • Development

Os pipelines são configurados de acordo com a branch padrão onde as alterações foram “mergeadas”.

Os arquivos de configurações ficam armazenados na pasta devops na raiz do projeto.

Pasta ./devops: 

  • Docker
    • Dockerfile
  • Pipelines
    • ci.pr.yml
    • ci.development.yml
    • ci.main.yml

O pipeline de pull request é disparado sempre quando uma PR é criada para as branches main/development

Ele foi configurado no arquivo yml para realizar as seguintes tarefas:


Build image:

Dispara a geração da imagem Dockerfile, responsável por realizar as seguintes etapas:

  1. Install: Instalação do node, dos pacotes NPM, angular/cli.
  2. Npm Build: Realiza o build do app Angular, através dos comandos do Angular.
  3. SonarQube: Instalação do JDK e Code Analysis Publish Quality Gate

Testes unitários:

Executa o comando npm run test no projeto thf-components.

Caso algum teste apresente falhas, a PR não poderá ser completada até a correção.

Lint:

Executa o comando npm run lint no projeto thf-components.

Caso alguma regra lint apresente falhas, a PR não poderá ser completada até a correção.




O pipeline de build é disparado sempre que uma modificação ocorre na branch development após o complete da PR.

Ele foi configurado no arquivo yml para realizar as seguintes tarefas:

Build image:

Dispara a geração da imagem Dockerfile, responsável por realizar as seguintes etapas:

  1. Install: Instalação do node, dos pacotes NPM, angular/cli.
  2. Npm Build: Realiza o build do app Angular, através dos comandos do Angular.
  3. SonarQube: Instalação do JDK e Code Analysis Publish Quality Gate
  4. Publish: Disponibiliza os arquivos após o build


Scanner de Vulnerabilidade:

Realiza a análise de vulnerabilidades na imagem gerada no passo anterior

Publicação do artefato e da imagem:

Realiza a publicação dos artefatos gerados, a pasta ‘/dist’ e o CoverageReport

O artefato fica armazenado no pipeline, disponível para testes das alterações da branch development.

Exemplo do pipeline executado com sucesso e o artefato publicado:

Em resumo, a responsabilidade do pipeline de CI-development é gerar o build do projeto com sucesso e entregá-lo através dos artefatos do azure pipelines para o testes.

Pipeline: thf-components-development-ci


O pipeline de build é disparado sempre que uma modificação ocorre na branch main após o complete da PR (dev -> main)

Ele foi configurado no arquivo yml para realizar as seguintes tarefas:

Build image:

Dispara a geração da imagem Dockerfile, responsável por realizar as seguintes etapas:

  1. Install: Instalação do node, dos pacotes NPM, angular/cli.
  2. Npm Build: Realiza o build do app Angular, através dos comandos do Angular.
  3. SonarQube: Instalação do JDK e Code Analysis Publish Quality Gate
  4. Publish: Disponibiliza os arquivos após o build


Scanner de Vulnerabilidade:

Realiza a análise de vulnerabilidades na imagem gerada no passo anterior

Publicação do artefato e da imagem:

Realiza a publicação dos artefatos gerados, a pasta ‘/dist’ e o CoverageReport

O artefato fica armazenado no pipeline, disponível para testes das alterações da branch main.

Exemplo do pipeline executado com sucesso e o artefato publicado:

Em resumo, a responsabilidade do pipeline de CI-main é gerar o build do projeto com sucesso e entregá-lo através dos artefatos do azure pipelines para a release no verdaccio.

Pipeline: thf-components-main-ci



  • Sem rótulos