Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


THF-COMPONENTS


Expandir
titleObjetivo

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


Expandir
titleAzure Devops

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.


Expandir
titleEndereço de publicação da página

Atualmente

a página é publicada

o pacote NPM @totvs/thf-components é publicado no seguinte endereço: https://

smart-ui.dev.totvs.app/

npm.totvs.io/-/web/detail/@totvs/thf-components

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


Expandir
titleRepositório

Repositório de arquivos

da página Angular Vitrine de componentes PO-UI

do THF-Componentes

https://totvstfs.visualstudio.com/

TOTVSApps-SupportElements

THF/_git/

smart-ui-service-ui

thf-components

Branches padrões

    • Main
  • Develop
    • Development


Expandir
titleDevops - Pipelines e imagens docker

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.main.yamlci.develop.yamldevelopment.yml
    • ci.main.yml


Expandir
titleCI - Pull Request

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.




Expandir
titleCI - Pipeline de Buildbuild development

O pipeline de build é disparado sempre que uma modificação ocorre na branch

main ou dev

development após o complete da PR.

Ele foi configurado no arquivo yaml yml para realizar as seguintes etapastarefas:

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.


  1. Npm Build: Realiza o build do app Angular, através dos comandos do Angular.


  1. SonarQube: Instalação do JDK e Code Analysis Publish Quality Gate


  1. 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:

Image Added

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


1

Expandir
titleCI - Pipeline de build MAIN

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.


  1. Npm Build: Realiza o build do app Angular, através dos comandos do Angular.


  1. SonarQube: Instalação do JDK e Code Analysis Publish Quality Gate


  1. 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:

Image Added

Image Added

draw.io Diagram
bordertrue
diagramNameMerge Branch Main
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth831
revision


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

o deploy

a release no verdaccio.

Pipelines

Pipeline:

smart-ui-service-ui-develop-ci

smart-ui-service-ui

thf-components-main-ci