Pular para o conteúdo principal

O que é um pipeline de CI/CD?

O que é um pipeline de CI/CD?

CI e CD representam 𝗖𝗼𝗻𝘁𝗶𝗻𝘂𝗼𝘂𝘀 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗮𝗻𝗱 𝗖𝗼𝗻𝘁𝗶𝗻𝘂𝗼𝘂𝘀 𝗗𝗲𝗹𝗶𝘃𝗲𝗿𝘆. Nos termos mais simples possíveis, a Integração Contínua (CI) é uma técnica em que alterações incrementais de código são feitas de forma confiável e regular. As atualizações de código que são mescladas no repositório são tornadas confiáveis por procedimentos automatizados de construção e teste que são iniciados por CI. Em seguida, como parte do processo de CD, o código é implantado de maneira rápida e fácil. O pipeline de CI/CD, conforme usado na indústria de software, é a automação que permite que os desenvolvedores transfiram de forma confiável alterações incrementais de código de suas máquinas para teste e produção.

O CI/CD geralmente pode incluir um 𝗖𝗼𝗻𝘁𝗶𝗻𝘂𝗼𝘂𝘀 𝗗𝗲𝗽𝗹𝗼𝘆𝗺𝗲𝗻𝘁 também, o que significa que o código implantado no repositório será implantado automaticamente na produção. Juntas, essas práticas conectadas costumam ser chamadas de "𝗖𝗜/𝗖𝗗 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲". Eles geralmente são mantidos usando a abordagem DevOps ou SRE. Existem vários benefícios de ter pipelines de CI/CD, como melhor colaboração e qualidade de código, bem como sistemas mais ágeis e confiáveis.

Existem diferentes etapas em um pipeline de CI/CD, como: 𝗯𝘂𝗶𝗹𝗱, 𝘁𝗲𝘀𝘁 𝗮𝗻𝗱 𝗱𝗲𝗽𝗹𝗼𝘆, mas pode haver muito mais atividades incluídas:

🔹 Verificando o código do controle de versão e construindo-o
🔹 Tendo portões preparados para diferentes tipos de aprovações
🔹 Gerenciamento de variáveis de ambiente
🔹 Reiniciando os serviços
🔹 Execução de testes
🔹 E mais...

Algumas ferramentas CI/CD populares:

🔸 Jenkins
🔸 TeamCity
🔸 Circle CI
🔸 Bambu
🔸 GitLab
🔸 Azure DevOps

A imagem mostra algumas ferramentas comumente utilizadas em diferentes etapas do processo DevOps.

Você usa pipelines de CI/CD?

 




Fonte: https://www.linkedin.com/posts/lgertel_devops-software-pipeline-activity-7026552798615941120-Xxpp?utm_source=share&utm_medium=member_desktop

Lucas Lacerda Gertel


Postagens mais visitadas deste blog

Recursividade Minha Linda! Estrutura Produtos Protheus SG1

Fato! Depois que você conhece recursividade em sua vida tudo fica mais leve (rss... ) a recursividade pode ser infinita (pode não ta!) se for infinita vai dar problema, não pode. Mas a recursividade nos ajuda a deixar nosso sistema mais flexível e dinâmico para montar uma série de regras de negócio. Hoje vou falar exatamente da SG1, tabela TOTVS Microsiga Protheus que é utilizada para montar a estrutura de um produto dentro PCP (Planejamento e Controle de Produção). Isso séria algo que a recursividade iria ajudar. Na SG1 temos o campos G1_COD (Pai) e G1_COMP (Filho). G1_COD->G1_COMP->G1_COD->G1_COMP->G1_COD->G1_COMP Seria assim o fluxo da informação. Sem mais delongas, abaixo vou deixar o script para MSSQL para apresentar esses dados. Inté! WITH ESTRUT( CODIGO, COD_PAI, COD_COMP, QTD, PERDA, DT_INI, DT_FIM ,TRT ,RECNO, NIVEL ) AS ( SELECT G1_COD PAI, G1_COD, G1_COMP, G1_QUANT, G1_PERDA, G1_INI, G1_FIM,G1_TRT,SG1.R_E_C_N_O_, 1 AS NIVEL FR...

SB9 Protheus x Fechamentos incorretos (Sem endereço ou lote)

Uebá!!! Montei essa query um tempo atrás para localizar fechamento incorreto no protheus, o fechamento acontece na SB9, que é feito todo mês. Let's Share! https://centraldeatendimento.totvs.com/hc/pt-br/articles/360006558492-MP-SIGAEST-Roteiro-para-a-realiza%C3%A7%C3%A3o-da-virada-de-saldos-no-estoque-MATA280 SELECT * FROM ( SELECT B9_FILIAL,B9_COD,B9_LOCAL,B9_DATA,B9_QINI, --ULTIMO FECHAMENTO ANTES DO MES ATUAL ( SELECT ISNULL(B9_QINI,0) FROM SB9050 SB9X WHERE SB9X.B9_COD =SB9.B9_COD AND SB9X.B9_LOCAL = SB9.B9_LOCAL AND SB9X.D_E_L_E_T_ = ' ' AND MONTH(SB9X.B9_DATA) = MONTH(DATEADD(month,-1,convert(datetime,SB9.B9_DATA,103))) AND YEAR(SB9X.B9_DATA) = YEAR(DATEADD(month,-1,convert(datetime,SB9.B9_DATA,103))) --SELECT * FROM SF4050 WHERE F4_CODIGO = '618' )-( --MOVIMENTACAO DO ESTOQUE SELECT ISNULL(SUM(CASE WHEN LEFT(SD3.D3_CF,1)='R' THEN SD3.D3_QUANT ELSE SD3.D3_QUANT * -1 END),0) FROM S...

REST Protheus Converter charset CP1252 para UTF8 com Header Accept UTF-8

O Protheus possui um tag que pode ser utilizada para conversão para UTF8 de forma transparente, basta enviar no header da requisição a TAG ACCEPT com charset=UTF-8, também pode-se adicionar o appllication/json. Accept : application/json; charset=UTF-8 ou Accept : charset=UTF-8 Isso ajuda pois não precisa mais utilizar as funções DecodeUTF8 e EncodeUT8 pois o próprio rest já vai fazer isso.