[{"data":1,"prerenderedAt":1711},["ShallowReactive",2],{"/pt-br/blog/getting-started-with-gitlab-understanding-ci-cd":3,"navigation-pt-br":965,"banner-pt-br":1398,"footer-pt-br":1405,"blog-post-authors-pt-br-GitLab":1660,"blog-related-posts-pt-br-getting-started-with-gitlab-understanding-ci-cd":1675,"next-steps-pt-br":1691,"blog-share-wrapper-pt-br":1701},{"id":4,"title":5,"authors":6,"body":8,"category":942,"date":943,"description":944,"extension":945,"externalUrl":946,"faq":946,"featured":230,"heroImage":947,"meta":948,"navigation":230,"path":949,"seo":950,"slug":955,"stem":956,"tags":957,"template":963,"updatedDate":946,"__hash__":964},"blogPosts/pt-br/blog/getting-started-with-gitlab-understanding-ci-cd.md","Primeiros passos com o GitLab: entenda o CI/CD",[7],"GitLab",{"type":9,"value":10,"toc":930},"minimark",[11,18,28,33,65,69,72,110,114,168,172,177,361,364,368,371,376,395,564,569,578,752,756,764,767,784,789,793,811,821,825,834,837,858,863,866,882,886,889,926],[12,13,14],"p",{},[15,16,17],"em",{},"Bem-vindo(a) à nossa série \"Primeiros passos com o GitLab\", em que ajudamos quem está iniciando agora a se familiarizar com a plataforma DevSecOps do GitLab.",[12,19,20,21,27],{},"Imagine um fluxo de trabalho em que cada alteração de código é automaticamente compilada, testada e publicada para os seus usuários. É esse o poder da ",[22,23,26],"a",{"href":24,"rel":25},"https://about.gitlab.com/pt-br/topics/ci-cd/",[],"Integração Contínua/Entrega Contínua (CI/CD)","! O CI/CD ajuda você a identificar bugs mais cedo, garante a qualidade do código e entrega software mais rápido e com mais frequência.",[29,30,32],"h3",{"id":31},"o-que-é-cicd","O que é CI/CD?",[34,35,36,45,55],"ul",{},[37,38,39,40,44],"li",{},"A ",[41,42,43],"strong",{},"Integração Contínua"," (CI) é uma prática de desenvolvimento de software em que os desenvolvedores integram com frequência as alterações de código a um repositório compartilhado, de preferência várias vezes ao dia. Cada integração é então verificada por um processo automatizado de build e teste, permitindo que os times detectem problemas logo no início.",[37,46,39,47,50,51,54],{},[41,48,49],{},"Entrega Contínua"," (CD) amplia a CI ao automatizar o pipeline, garantindo que o seu código esteja ",[15,52,53],{},"sempre"," pronto para o deploy. Assim, você pode implantar sua aplicação em diferentes ambientes (por exemplo, staging, produção) com um único clique ou de forma automática.",[37,56,39,57,60,61,64],{},[41,58,59],{},"Implantação Contínua"," (CD) vai um passo além ao implantar automaticamente ",[15,62,63],{},"cada build bem-sucedido"," em produção. Isso exige um alto grau de confiança nos seus testes automatizados e no processo de implantação.",[29,66,68],{"id":67},"por-que-usar-o-gitlab-cicd","Por que usar o GitLab CI/CD?",[12,70,71],{},"O GitLab CI/CD é um sistema poderoso e integrado que já vem incluído na plataforma do GitLab. Ele oferece uma experiência integrada para automatizar todo o seu ciclo de vida de desenvolvimento de software (SDLC). Com o GitLab CI/CD, você pode:",[34,73,74,80,86,92,98,104],{},[37,75,76,79],{},[41,77,78],{},"Automatizar todo o processo:"," compile, teste e suba as suas aplicações com rapidez e facilidade.",[37,81,82,85],{},[41,83,84],{},"Detectar bugs mais rápido:"," encontre e corrija erros antes que cheguem aos ambientes de produção.",[37,87,88,91],{},[41,89,90],{},"Obter feedback mais rápido:"," receba feedback imediato sobre as alterações realizadas no seu código.",[37,93,94,97],{},[41,95,96],{},"Melhorar a colaboração:"," trabalhe em conjunto eficientemente com fluxos de trabalho automatizados.",[37,99,100,103],{},[41,101,102],{},"Acelerar a entrega:"," publique novas versões do software mais rapidamente e com mais frequência.",[37,105,106,109],{},[41,107,108],{},"Reduzir riscos:"," minimize consideravelmente erros no deploy e rollbacks.",[29,111,113],{"id":112},"os-elementos-do-gitlab-cicd","Os elementos do GitLab CI/CD",[34,115,116,132,144,156],{},[37,117,118,122,125,126,131],{},[119,120,121],"code",{},".gitlab-ci.yml",[41,123,124],{},":"," este ",[22,127,130],{"href":128,"rel":129},"https://docs.gitlab.com/ci/yaml/",[],"arquivo YAML",", localizado no diretório raiz do seu projeto, define o pipeline de CI/CD, incluindo as etapas, jobs e runners.",[37,133,134,141,143],{},[22,135,138],{"href":136,"rel":137},"https://docs.gitlab.com/runner/",[],[41,139,140],{},"GitLab Runner",[41,142,124],{}," esse agente executa os seus jobs de CI/CD na sua infraestrutura (por exemplo, máquinas físicas, máquinas virtuais, containers Docker ou clusters Kubernetes).",[37,145,146,153,155],{},[22,147,150],{"href":148,"rel":149},"https://docs.gitlab.com/ci/yaml/#stages",[],[41,151,152],{},"Etapas",[41,154,124],{}," as etapas definem a ordem de execução dos seus jobs (por exemplo, build, test e deploy).",[37,157,158,165,167],{},[22,159,162],{"href":160,"rel":161},"https://docs.gitlab.com/ci/yaml/#job-keywords",[],[41,163,164],{},"Jobs",[41,166,124],{}," os jobs são unidades individuais de trabalho dentro de um estágio (por exemplo, compilar código, executar testes e realizar o deploy para staging).",[29,169,171],{"id":170},"como-configurar-o-gitlab-ci","Como configurar o GitLab CI?",[12,173,174,175,124],{},"Começar com o GitLab CI é simples. Veja um exemplo básico de um arquivo ",[119,176,121],{},[178,179,184],"pre",{"className":180,"code":181,"language":182,"meta":183,"style":183},"language-yaml shiki shiki-themes github-light","stages:\n  - build\n  - test\n  - deploy\n\nbuild_job:\n  stage: build\n  script:\n    - echo \"Building the application...\"\n\ntest_job:\n  stage: test\n  script:\n    - echo \"Running tests...\"\n\ndeploy_job:\n  stage: deploy\n  script:\n    - echo \"Deploying to production...\"\n  environment:\n    name: production\n\n","yaml","",[119,185,186,199,209,217,225,232,240,251,259,268,273,281,290,297,305,310,318,327,334,342,350],{"__ignoreMap":183},[187,188,191,195],"span",{"class":189,"line":190},"line",1,[187,192,194],{"class":193},"shJU0","stages",[187,196,198],{"class":197},"sgsFI",":\n",[187,200,202,205],{"class":189,"line":201},2,[187,203,204],{"class":197},"  - ",[187,206,208],{"class":207},"sYBdl","build\n",[187,210,212,214],{"class":189,"line":211},3,[187,213,204],{"class":197},[187,215,216],{"class":207},"test\n",[187,218,220,222],{"class":189,"line":219},4,[187,221,204],{"class":197},[187,223,224],{"class":207},"deploy\n",[187,226,228],{"class":189,"line":227},5,[187,229,231],{"emptyLinePlaceholder":230},true,"\n",[187,233,235,238],{"class":189,"line":234},6,[187,236,237],{"class":193},"build_job",[187,239,198],{"class":197},[187,241,243,246,249],{"class":189,"line":242},7,[187,244,245],{"class":193},"  stage",[187,247,248],{"class":197},": ",[187,250,208],{"class":207},[187,252,254,257],{"class":189,"line":253},8,[187,255,256],{"class":193},"  script",[187,258,198],{"class":197},[187,260,262,265],{"class":189,"line":261},9,[187,263,264],{"class":197},"    - ",[187,266,267],{"class":207},"echo \"Building the application...\"\n",[187,269,271],{"class":189,"line":270},10,[187,272,231],{"emptyLinePlaceholder":230},[187,274,276,279],{"class":189,"line":275},11,[187,277,278],{"class":193},"test_job",[187,280,198],{"class":197},[187,282,284,286,288],{"class":189,"line":283},12,[187,285,245],{"class":193},[187,287,248],{"class":197},[187,289,216],{"class":207},[187,291,293,295],{"class":189,"line":292},13,[187,294,256],{"class":193},[187,296,198],{"class":197},[187,298,300,302],{"class":189,"line":299},14,[187,301,264],{"class":197},[187,303,304],{"class":207},"echo \"Running tests...\"\n",[187,306,308],{"class":189,"line":307},15,[187,309,231],{"emptyLinePlaceholder":230},[187,311,313,316],{"class":189,"line":312},16,[187,314,315],{"class":193},"deploy_job",[187,317,198],{"class":197},[187,319,321,323,325],{"class":189,"line":320},17,[187,322,245],{"class":193},[187,324,248],{"class":197},[187,326,224],{"class":207},[187,328,330,332],{"class":189,"line":329},18,[187,331,256],{"class":193},[187,333,198],{"class":197},[187,335,337,339],{"class":189,"line":336},19,[187,338,264],{"class":197},[187,340,341],{"class":207},"echo \"Deploying to production...\"\n",[187,343,345,348],{"class":189,"line":344},20,[187,346,347],{"class":193},"  environment",[187,349,198],{"class":197},[187,351,353,356,358],{"class":189,"line":352},21,[187,354,355],{"class":193},"    name",[187,357,248],{"class":197},[187,359,360],{"class":207},"production\n",[12,362,363],{},"Essa configuração define três etapas: \"build\", \"test\" e \"deploy\". Cada etapa contém um job que executa um script simples.",[29,365,367],{"id":366},"exemplos-de-configuração-de-cicd","Exemplos de configuração de CI/CD",[12,369,370],{},"Vamos explorar alguns exemplos mais realistas.",[12,372,373],{},[41,374,375],{},"Compilando e implantando uma aplicação Node.js",[12,377,378,379,384,385,390,391,394],{},"A definição de pipeline abaixo mostra o uso do npm para compilar e testar uma aplicação Node.js e do ",[22,380,383],{"href":381,"rel":382},"https://docs.gitlab.com/ci/examples/deployment/",[],"dpl"," para implantar a aplicação no Heroku. A etapa de deploy do pipeline utiliza as ",[22,386,389],{"href":387,"rel":388},"https://docs.gitlab.com/ci/variables/",[],"variáveis de CI/CD do GitLab",", que permitem que os desenvolvedores armazenem informações sensíveis (como credenciais) e as utilizem com segurança nos processos de CI/CD. Neste exemplo, uma chave de API para publicar no Heroku é armazenada na variável ",[119,392,393],{},"$HEROKU_API_KEY",", usada pela ferramenta dpl.",[178,396,398],{"className":180,"code":397,"language":182,"meta":183,"style":183},"stages:\n  - build\n  - test\n  - deploy\n\nbuild:\n  stage: build\n  image: node:latest\n  script:\n    - npm install\n    - npm run build\n\ntest:\n  stage: test\n  image: node:latest\n  script:\n    - npm run test\n\ndeploy:\n  stage: deploy\n  image: ruby:latest\n  script:\n    - gem install dpl\n    - dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY\n\n",[119,399,400,406,412,418,424,428,435,443,453,459,466,473,477,484,492,500,506,513,517,524,532,541,548,556],{"__ignoreMap":183},[187,401,402,404],{"class":189,"line":190},[187,403,194],{"class":193},[187,405,198],{"class":197},[187,407,408,410],{"class":189,"line":201},[187,409,204],{"class":197},[187,411,208],{"class":207},[187,413,414,416],{"class":189,"line":211},[187,415,204],{"class":197},[187,417,216],{"class":207},[187,419,420,422],{"class":189,"line":219},[187,421,204],{"class":197},[187,423,224],{"class":207},[187,425,426],{"class":189,"line":227},[187,427,231],{"emptyLinePlaceholder":230},[187,429,430,433],{"class":189,"line":234},[187,431,432],{"class":193},"build",[187,434,198],{"class":197},[187,436,437,439,441],{"class":189,"line":242},[187,438,245],{"class":193},[187,440,248],{"class":197},[187,442,208],{"class":207},[187,444,445,448,450],{"class":189,"line":253},[187,446,447],{"class":193},"  image",[187,449,248],{"class":197},[187,451,452],{"class":207},"node:latest\n",[187,454,455,457],{"class":189,"line":261},[187,456,256],{"class":193},[187,458,198],{"class":197},[187,460,461,463],{"class":189,"line":270},[187,462,264],{"class":197},[187,464,465],{"class":207},"npm install\n",[187,467,468,470],{"class":189,"line":275},[187,469,264],{"class":197},[187,471,472],{"class":207},"npm run build\n",[187,474,475],{"class":189,"line":283},[187,476,231],{"emptyLinePlaceholder":230},[187,478,479,482],{"class":189,"line":292},[187,480,481],{"class":193},"test",[187,483,198],{"class":197},[187,485,486,488,490],{"class":189,"line":299},[187,487,245],{"class":193},[187,489,248],{"class":197},[187,491,216],{"class":207},[187,493,494,496,498],{"class":189,"line":307},[187,495,447],{"class":193},[187,497,248],{"class":197},[187,499,452],{"class":207},[187,501,502,504],{"class":189,"line":312},[187,503,256],{"class":193},[187,505,198],{"class":197},[187,507,508,510],{"class":189,"line":320},[187,509,264],{"class":197},[187,511,512],{"class":207},"npm run test\n",[187,514,515],{"class":189,"line":329},[187,516,231],{"emptyLinePlaceholder":230},[187,518,519,522],{"class":189,"line":336},[187,520,521],{"class":193},"deploy",[187,523,198],{"class":197},[187,525,526,528,530],{"class":189,"line":344},[187,527,245],{"class":193},[187,529,248],{"class":197},[187,531,224],{"class":207},[187,533,534,536,538],{"class":189,"line":352},[187,535,447],{"class":193},[187,537,248],{"class":197},[187,539,540],{"class":207},"ruby:latest\n",[187,542,544,546],{"class":189,"line":543},22,[187,545,256],{"class":193},[187,547,198],{"class":197},[187,549,551,553],{"class":189,"line":550},23,[187,552,264],{"class":197},[187,554,555],{"class":207},"gem install dpl\n",[187,557,559,561],{"class":189,"line":558},24,[187,560,264],{"class":197},[187,562,563],{"class":207},"dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY\n",[12,565,566],{},[41,567,568],{},"Publicando em diferentes ambientes (staging e produção)",[12,570,571,572,577],{},"O GitLab também oferece o conceito de ",[22,573,576],{"href":574,"rel":575},"https://docs.gitlab.com/ci/environments/",[],"Ambientes (Environments)"," no CI/CD. Esse recurso permite que os usuários acompanhem as implantações do CI/CD até os seus destinos na infraestrutura. No exemplo abaixo, o pipeline adiciona etapas com uma propriedade de ambiente para staging e produção. Enquanto a etapa deploy_staging sempre executa seu script, a etapa deploy_production exige aprovação manual para evitar publicações acidentais em produção.",[178,579,581],{"className":180,"code":580,"language":182,"meta":183,"style":183},"stages:\n  - build\n  - test\n  - deploy_staging\n  - deploy_production\n\nbuild:\n  # ...\n\ntest:\n  # ...\n\ndeploy_staging:\n  stage: deploy_staging\n  script:\n    - echo \"Deploying to staging...\"\n  environment:\n    name: staging\n\ndeploy_production:\n  stage: deploy_production\n  script:\n    - echo \"Deploying to production...\"\n  environment:\n    name: production\n  when: manual  # Requires manual approval\n\n",[119,582,583,589,595,601,608,615,619,625,631,635,641,645,649,656,664,670,677,683,692,696,703,711,717,723,729,738],{"__ignoreMap":183},[187,584,585,587],{"class":189,"line":190},[187,586,194],{"class":193},[187,588,198],{"class":197},[187,590,591,593],{"class":189,"line":201},[187,592,204],{"class":197},[187,594,208],{"class":207},[187,596,597,599],{"class":189,"line":211},[187,598,204],{"class":197},[187,600,216],{"class":207},[187,602,603,605],{"class":189,"line":219},[187,604,204],{"class":197},[187,606,607],{"class":207},"deploy_staging\n",[187,609,610,612],{"class":189,"line":227},[187,611,204],{"class":197},[187,613,614],{"class":207},"deploy_production\n",[187,616,617],{"class":189,"line":234},[187,618,231],{"emptyLinePlaceholder":230},[187,620,621,623],{"class":189,"line":242},[187,622,432],{"class":193},[187,624,198],{"class":197},[187,626,627],{"class":189,"line":253},[187,628,630],{"class":629},"sAwPA","  # ...\n",[187,632,633],{"class":189,"line":261},[187,634,231],{"emptyLinePlaceholder":230},[187,636,637,639],{"class":189,"line":270},[187,638,481],{"class":193},[187,640,198],{"class":197},[187,642,643],{"class":189,"line":275},[187,644,630],{"class":629},[187,646,647],{"class":189,"line":283},[187,648,231],{"emptyLinePlaceholder":230},[187,650,651,654],{"class":189,"line":292},[187,652,653],{"class":193},"deploy_staging",[187,655,198],{"class":197},[187,657,658,660,662],{"class":189,"line":299},[187,659,245],{"class":193},[187,661,248],{"class":197},[187,663,607],{"class":207},[187,665,666,668],{"class":189,"line":307},[187,667,256],{"class":193},[187,669,198],{"class":197},[187,671,672,674],{"class":189,"line":312},[187,673,264],{"class":197},[187,675,676],{"class":207},"echo \"Deploying to staging...\"\n",[187,678,679,681],{"class":189,"line":320},[187,680,347],{"class":193},[187,682,198],{"class":197},[187,684,685,687,689],{"class":189,"line":329},[187,686,355],{"class":193},[187,688,248],{"class":197},[187,690,691],{"class":207},"staging\n",[187,693,694],{"class":189,"line":336},[187,695,231],{"emptyLinePlaceholder":230},[187,697,698,701],{"class":189,"line":344},[187,699,700],{"class":193},"deploy_production",[187,702,198],{"class":197},[187,704,705,707,709],{"class":189,"line":352},[187,706,245],{"class":193},[187,708,248],{"class":197},[187,710,614],{"class":207},[187,712,713,715],{"class":189,"line":543},[187,714,256],{"class":193},[187,716,198],{"class":197},[187,718,719,721],{"class":189,"line":550},[187,720,264],{"class":197},[187,722,341],{"class":207},[187,724,725,727],{"class":189,"line":558},[187,726,347],{"class":193},[187,728,198],{"class":197},[187,730,732,734,736],{"class":189,"line":731},25,[187,733,355],{"class":193},[187,735,248],{"class":197},[187,737,360],{"class":207},[187,739,741,744,746,749],{"class":189,"line":740},26,[187,742,743],{"class":193},"  when",[187,745,248],{"class":197},[187,747,748],{"class":207},"manual",[187,750,751],{"class":629},"  # Requires manual approval\n",[29,753,755],{"id":754},"gitlab-auto-devops","GitLab Auto DevOps",[12,757,758,759,763],{},"O ",[22,760,755],{"href":761,"rel":762},"https://docs.gitlab.com/topics/autodevops/",[]," simplifica o CI/CD ao oferecer uma configuração pré-definida que compila, testa e publica suas aplicações automaticamente. Para isso, ele utiliza as boas práticas e padrões do setor para otimizar o seu fluxo de trabalho.",[12,765,766],{},"Para ativar o Auto DevOps:",[768,769,770,777],"ol",{},[37,771,772,773,776],{},"Acesse ",[41,774,775],{},"Settings > CI/CD > General pipelines"," no seu projeto.",[37,778,779,780,783],{},"Ative a opção ",[41,781,782],{},"Auto DevOps",".",[12,785,786,787,783],{},"O Auto DevOps detecta automaticamente a linguagem e o framework do seu projeto e configura as etapas necessárias de build, test e deploy. Ou seja, você nem precisa criar um arquivo ",[119,788,121],{},[29,790,792],{"id":791},"catálogo-de-cicd","Catálogo de CI/CD",[12,794,758,795,799,800,805,806,810],{},[22,796,792],{"href":797,"rel":798},"https://about.gitlab.com/blog/faq-gitlab-ci-cd-catalog/",[]," é uma lista de projetos com ",[22,801,804],{"href":802,"rel":803},"https://docs.gitlab.com/ci/components/",[],"componentes de CI/CD"," publicados para que você possa estender o seu fluxo de trabalho de CI/CD. Assim, qualquer pessoa pode criar um projeto de componente e adicioná-lo ao Catálogo de CI/CD, ou mesmo contribuir para um projeto existente para melhorar os componentes disponíveis. Você pode encontrar os componentes publicados no ",[22,807,792],{"href":808,"rel":809},"https://gitlab.com/explore/catalog",[]," no GitLab.com.",[812,813,814],"blockquote",{},[12,815,816],{},[22,817,820],{"href":818,"rel":819},"https://about.gitlab.com/blog/tutorial-how-to-set-up-your-first-gitlab-ci-cd-component/",[],"Tutorial: Saiba como configurar seu primeiro componente de CI/CD do GitLab",[29,822,824],{"id":823},"templates-de-ci","Templates de CI",[12,826,827,828,833],{},"Você também pode criar seus próprios ",[22,829,832],{"href":830,"rel":831},"https://docs.gitlab.com/ci/examples/",[],"templates de CI"," para padronizar e reutilizar configurações de CI/CD em vários projetos, o que promove a consistência e reduz a duplicação.",[12,835,836],{},"Para criar um template de CI:",[768,838,839,845,848],{},[37,840,841,842,844],{},"Crie um arquivo ",[119,843,121],{}," em um projeto ou repositório dedicado.",[37,846,847],{},"Defina sua configuração de CI/CD no template.",[37,849,850,851,853,854,857],{},"No arquivo ",[119,852,121],{}," do seu projeto, use a palavra-chave ",[119,855,856],{},"include"," para incluir o template.",[859,860,862],"h2",{"id":861},"leve-o-seu-desenvolvimento-para-o-próximo-nível","Leve o seu desenvolvimento para o próximo nível",[12,864,865],{},"O GitLab CI/CD é uma ferramenta poderosa que pode transformar o seu fluxo de trabalho de desenvolvimento. Ao entender os conceitos de CI/CD, configurar seus pipelines e aproveitar recursos como o Auto DevOps, o Catálogo de CI/CD e os templates de CI, você pode automatizar todo o seu ciclo de vida de desenvolvimento de software e entregar software de alta qualidade mais rápido e com mais eficiência.",[812,867,868],{},[12,869,870,871,876,877,783],{},"Quer saber mais sobre este e outros assuntos, e aprofundar o seu aprendizado? Inscreva-se nos ",[22,872,875],{"href":873,"rel":874},"https://university.gitlab.com/",[],"cursos da GitLab University"," ou comece agora mesmo com um ",[22,878,881],{"href":879,"rel":880},"https://about.gitlab.com/pt-br/free-trial/",[],"teste gratuito do GitLab Ultimate",[859,883,885],{"id":884},"série-primeiros-passos-com-o-gitlab","Série \"Primeiros passos com o GitLab\"",[12,887,888],{},"Confira mais artigos da nossa série \"Primeiros passos com o GitLab\":",[34,890,891,898,905,912,919],{},[37,892,893],{},[22,894,897],{"href":895,"rel":896},"https://about.gitlab.com/blog/getting-started-with-gitlab-how-to-manage-users/",[],"Como gerenciar usuários",[37,899,900],{},[22,901,904],{"href":902,"rel":903},"https://about.gitlab.com/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab/",[],"Como importar seus projetos para o GitLab",[37,906,907],{},[22,908,911],{"href":909,"rel":910},"https://about.gitlab.com/blog/getting-started-with-gitlab-mastering-project-management/",[],"Dominando o gerenciamento de projetos",[37,913,914],{},[22,915,918],{"href":916,"rel":917},"https://about.gitlab.com/blog/automating-agile-workflows-with-the-gitlab-triage-gem/",[],"Automatizando fluxos de trabalho ágeis com a gem gitlab-triage",[37,920,921],{},[22,922,925],{"href":923,"rel":924},"https://about.gitlab.com/blog/getting-started-with-gitlab-working-with-ci-cd-variables/",[],"Trabalhando com variáveis de CI/CD",[927,928,929],"style",{},"html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":183,"searchDepth":201,"depth":201,"links":931},[932,933,934,935,936,937,938,939,940,941],{"id":31,"depth":211,"text":32},{"id":67,"depth":211,"text":68},{"id":112,"depth":211,"text":113},{"id":170,"depth":211,"text":171},{"id":366,"depth":211,"text":367},{"id":754,"depth":211,"text":755},{"id":791,"depth":211,"text":792},{"id":823,"depth":211,"text":824},{"id":861,"depth":201,"text":862},{"id":884,"depth":201,"text":885},"product","2026-09-17","Aprenda o básico sobre integração contínua/entrega contínua neste guia para iniciantes, incluindo o que são os componentes de CI/CD e como criá-los.","md",null,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659525/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25.png",{},"/pt-br/blog/getting-started-with-gitlab-understanding-ci-cd",{"title":5,"description":944,"ogTitle":5,"ogDescription":944,"noIndex":951,"ogImage":947,"ogUrl":952,"ogSiteName":953,"ogType":954,"canonicalUrls":952},false,"https://about.gitlab.com/pt-br/blog/getting-started-with-gitlab-understanding-ci-cd","https://about.gitlab.com","article","getting-started-with-gitlab-understanding-ci-cd","pt-br/blog/getting-started-with-gitlab-understanding-ci-cd",[958,959,960,961,942,962],"CI/CD","CI","CD","DevSecOps platform","tutorial","BlogPost","_YO2xI1s61IA3gPTgaWTCnkix92ZzSvz24EVKLrsKUI",{"logo":966,"freeTrial":971,"sales":976,"login":981,"items":986,"search":1315,"minimal":1349,"duo":1368,"switchNav":1377,"pricingDeployment":1388},{"config":967},{"href":968,"dataGaName":969,"dataGaLocation":970},"/pt-br/","gitlab logo","header",{"text":972,"config":973},"Obtenha uma avaliação gratuita",{"href":974,"dataGaName":975,"dataGaLocation":970},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/pt-br&glm_content=default-saas-trial/","free trial",{"text":977,"config":978},"Solicite uma demonstração",{"href":979,"dataGaName":980,"dataGaLocation":970},"/pt-br/sales/?contact-topic=request-demo","sales",{"text":982,"config":983},"Fazer login",{"href":984,"dataGaName":985,"dataGaLocation":970},"https://gitlab.com/users/sign_in/","sign in",[987,1072,1160,1165,1239,1293],{"text":988,"left":230,"config":989,"menu":991},"Plataforma",{"dataNavLevelOne":990},"platform",{"type":992,"link":993,"columns":997,"feature":1061},"lists",{"text":994,"config":995},"Conheça a plataforma",{"href":996,"dataGaName":990,"dataGaLocation":970},"/pt-br/platform/",[998,1020,1043],{"title":999,"items":1000},"Execução e fluxos de trabalho",[1001,1005,1010,1015],{"text":958,"config":1002},{"href":1003,"dataGaLocation":970,"dataGaName":1004},"/pt-br/solutions/continuous-integration/","ci/cd",{"text":1006,"config":1007},"Gerenciamento de código-fonte",{"href":1008,"dataGaLocation":970,"dataGaName":1009},"/pt-br/solutions/source-code-management/","source code management",{"text":1011,"config":1012},"Entrega ágil",{"href":1013,"dataGaLocation":970,"dataGaName":1014},"/pt-br/solutions/agile-delivery/","agile delivery",{"text":1016,"config":1017},"Gerenciamento de artefatos",{"href":1018,"dataGaLocation":970,"dataGaName":1019},"/pt-br/artifact-central/","artifact management",{"title":1021,"items":1022},"Segurança e governança",[1023,1028,1033,1038],{"text":1024,"config":1025},"Testes de segurança de aplicações",{"href":1026,"dataGaLocation":970,"dataGaName":1027},"/pt-br/solutions/application-security-testing/","application security testing",{"text":1029,"config":1030},"Governança e conformidade",{"href":1031,"dataGaLocation":970,"dataGaName":1032},"/pt-br/solutions/software-compliance/","governance and compliance",{"text":1034,"config":1035},"Gerenciamento de segredos",{"href":1036,"dataGaLocation":970,"dataGaName":1037},"/pt-br/gitlab-secrets-manager/","secrets management",{"text":1039,"config":1040},"Segurança da cadeia de suprimentos",{"href":1041,"dataGaLocation":970,"dataGaName":1042},"/pt-br/solutions/supply-chain/","supply chain security",{"title":1044,"items":1045},"Contexto e IA",[1046,1051,1056],{"text":1047,"config":1048},"Orquestração agêntica",{"href":1049,"dataGaLocation":970,"dataGaName":1050},"/pt-br/gitlab-duo-agent-platform/","agentic orchestration",{"text":1052,"config":1053},"Grafo de contexto",{"href":1054,"dataGaLocation":970,"dataGaName":1055},"/pt-br/gitlab-orbit/","context graph",{"text":1057,"config":1058},"Visibilidade e métricas",{"href":1059,"dataGaLocation":970,"dataGaName":1060},"/pt-br/solutions/visibility-measurement/","visibility and measurement",{"config":1062,"title":1065,"text":1066,"link":1067},{"background":1063,"textColor":1064},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Por que escolher o GitLab?","Uma plataforma única que oferece velocidade e controle em todo o ciclo de vida do seu software.",{"text":1068,"config":1069},"Saiba mais",{"href":1070,"dataGaName":1071,"dataGaLocation":970},"/pt-br/why-gitlab/","why gitlab",{"text":1073,"left":230,"config":1074,"menu":1076},"Soluções",{"dataNavLevelOne":1075},"solutions",{"type":992,"link":1077,"columns":1081,"feature":1151},{"text":1078,"config":1079},"Confira todas as soluções",{"href":1080,"dataGaName":1075,"dataGaLocation":970},"/pt-br/solutions/",[1082,1100,1118],{"title":1083,"items":1084},"Resultados",[1085,1090,1095],{"text":1086,"config":1087},"Modernização de DevOps",{"href":1088,"dataGaLocation":970,"dataGaName":1089},"/pt-br/assessments/devops-modernization-assessment/","devops modernization",{"text":1091,"config":1092},"Modernização da segurança",{"href":1093,"dataGaLocation":970,"dataGaName":1094},"/pt-br/assessments/security-modernization-assessment/","security modernization",{"text":1096,"config":1097},"Modernização da IA",{"href":1098,"dataGaLocation":970,"dataGaName":1099},"/pt-br/assessments/ai-modernization-assessment/","ai modernization",{"title":1101,"items":1102},"Por tamanho",[1103,1108,1113],{"text":1104,"config":1105},"Enterprise",{"href":1106,"dataGaLocation":970,"dataGaName":1107},"/pt-br/enterprise/","enterprise",{"text":1109,"config":1110},"Pequenas empresas",{"href":1111,"dataGaLocation":970,"dataGaName":1112},"/pt-br/small-business/","small business",{"text":1114,"config":1115},"Start-ups",{"href":1116,"dataGaLocation":970,"dataGaName":1117},"/pt-br/solutions/startups/","startups",{"title":1119,"items":1120},"Indústrias",[1121,1126,1131,1136,1141,1146],{"text":1122,"config":1123},"Serviços financeiros",{"href":1124,"dataGaLocation":970,"dataGaName":1125},"/pt-br/solutions/finance/","financial services",{"text":1127,"config":1128},"Setor público",{"href":1129,"dataGaLocation":970,"dataGaName":1130},"/pt-br/solutions/public-sector/","public sector",{"text":1132,"config":1133},"Telecomunicações",{"href":1134,"dataGaLocation":970,"dataGaName":1135},"/pt-br/solutions/telecommunications/","telecommunications",{"text":1137,"config":1138},"Serviços automotivos",{"href":1139,"dataGaLocation":970,"dataGaName":1140},"/pt-br/solutions/automotive/","automotive",{"text":1142,"config":1143},"Educação",{"href":1144,"dataGaLocation":970,"dataGaName":1145},"/pt-br/solutions/education/","education",{"text":1147,"config":1148},"Aeroespacial",{"href":1149,"dataGaLocation":970,"dataGaName":1150},"/pt-br/solutions/aerospace/","aerospace",{"config":1152,"title":1153,"text":1154,"link":1155},{"background":1063,"textColor":1064},"GitLab Security Standard","Saiba como fortalecer sua fábrica de software e permitir que agentes de IA conquistem autonomia, sem abrir mão da segurança.",{"text":1156,"config":1157},"Explore o padrão",{"href":1158,"dataGaName":1159,"dataGaLocation":970},"/pt-br/gitlab-security-standard/","gitlab security standard",{"text":1161,"config":1162},"Preços",{"href":1163,"dataGaName":1164,"dataGaLocation":970,"dataNavLevelOne":1164},"/pt-br/pricing/","pricing",{"text":1166,"config":1167,"menu":1169},"Recursos",{"dataNavLevelOne":1168},"resources",{"type":992,"link":1170,"columns":1174,"feature":1230},{"text":1171,"config":1172},"Confira todos os recursos",{"href":1173,"dataGaName":1168,"dataGaLocation":970},"/pt-br/resources/",[1175,1202],{"title":1176,"items":1177},"Descubra",[1178,1183,1187,1192,1197],{"text":1179,"config":1180},"Documentação",{"href":1181,"dataGaName":1182,"dataGaLocation":970},"https://docs.gitlab.com/","docs",{"text":1184,"config":1185},"University",{"href":873,"dataGaName":1186,"dataGaLocation":970},"university",{"text":1188,"config":1189},"Demo Series",{"href":1190,"dataGaName":1191,"dataGaLocation":970},"/pt-br/gitlab-technical-demo-series/","demo series",{"text":1193,"config":1194},"Demo Hub",{"href":1195,"dataGaName":1196,"dataGaLocation":970},"/pt-br/demo-hub/","demo hub",{"text":1198,"config":1199},"Serviços",{"href":1200,"dataGaName":1201,"dataGaLocation":970},"/pt-br/services/","services",{"title":1203,"items":1204},"Conecte-se",[1205,1210,1215,1220,1225],{"text":1206,"config":1207},"Blog",{"href":1208,"dataGaName":1209,"dataGaLocation":970},"/pt-br/blog/","blog",{"text":1211,"config":1212},"Comunidade",{"href":1213,"dataGaName":1214,"dataGaLocation":970},"/community/","community",{"text":1216,"config":1217},"Clientes",{"href":1218,"dataGaName":1219,"dataGaLocation":970},"/pt-br/customers/","customers",{"text":1221,"config":1222},"Parceiros",{"href":1223,"dataGaName":1224,"dataGaLocation":970},"/pt-br/partners/","partners",{"text":1226,"config":1227},"Eventos",{"href":1228,"dataGaName":1229,"dataGaLocation":970},"/events/","events",{"config":1231,"title":1232,"text":1233,"link":1234},{"background":1063,"textColor":1064},"Novidades no GitLab","Acompanhe as melhorias e os recursos mais recentes.",{"text":1235,"config":1236},"Confira as novidades",{"href":1237,"dataGaName":1238,"dataGaLocation":970},"/pt-br/whats-new/","whats new",{"text":1240,"config":1241,"menu":1243},"Empresa",{"dataNavLevelOne":1242},"company",{"type":992,"columns":1244},[1245],{"items":1246},[1247,1252,1258,1263,1268,1273,1278,1283,1288],{"text":1248,"config":1249},"Sobre",{"href":1250,"dataGaName":1251,"dataGaLocation":970},"/pt-br/company/","about",{"text":1253,"config":1254,"footerGa":1257},"Vagas",{"href":1255,"dataGaName":1256,"dataGaLocation":970},"/jobs/","jobs",{"dataGaName":1256},{"text":1259,"config":1260},"Imprensa",{"href":1261,"dataGaName":1262,"dataGaLocation":970},"/press/","press",{"text":1264,"config":1265},"Manual",{"href":1266,"dataGaName":1267,"dataGaLocation":970},"https://handbook.gitlab.com/","handbook",{"text":1269,"config":1270},"Liderança",{"href":1271,"dataGaName":1272,"dataGaLocation":970},"/company/team/e-group/","leadership",{"text":1274,"config":1275},"Relações com investidores",{"href":1276,"dataGaName":1277,"dataGaLocation":970},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1279,"config":1280},"Trust Center",{"href":1281,"dataGaName":1282,"dataGaLocation":970},"/pt-br/security/","trust center",{"text":1284,"config":1285},"AI Transparency Center",{"href":1286,"dataGaName":1287,"dataGaLocation":970},"/pt-br/ai-transparency-center/","ai transparency center",{"text":1289,"config":1290},"Boletim informativo",{"href":1291,"dataGaName":1292,"dataGaLocation":970},"/company/contact/#contact-forms","newsletter",{"text":1294,"config":1295,"menu":1296},"Entre em contato",{"dataNavLevelOne":1242},{"type":992,"columns":1297},[1298],{"items":1299},[1300,1305,1310],{"text":1301,"config":1302},"Fale com a equipe de vendas",{"href":1303,"dataGaName":1304,"dataGaLocation":970},"/pt-br/sales/","talk to sales",{"text":1306,"config":1307},"Portal de ajuda",{"href":1308,"dataGaName":1309,"dataGaLocation":970},"https://support.gitlab.com/hc/en-us","support portal",{"text":1311,"config":1312},"Portal de clientes",{"href":1313,"dataGaName":1314,"dataGaLocation":970},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1316,"login":1317,"suggestions":1324},"Fechar",{"text":1318,"link":1319},"Para pesquisar repositórios e projetos, faça login em",{"text":1320,"config":1321},"gitlab.com",{"href":984,"dataGaName":1322,"dataGaLocation":1323},"search login","search",{"text":1325,"default":1326},"Sugestões",[1327,1330,1334,1336,1341,1346],{"text":1328,"config":1329},"GitLab Duo Agent Platform",{"href":1049,"dataGaName":1328,"dataGaLocation":1323},{"text":1331,"config":1332},"Sugestões de código (AI)",{"href":1049,"dataGaName":1333,"dataGaLocation":1323},"Code Suggestions (AI)",{"text":958,"config":1335},{"href":1003,"dataGaName":958,"dataGaLocation":1323},{"text":1337,"config":1338},"GitLab na AWS",{"href":1339,"dataGaName":1340,"dataGaLocation":1323},"/pt-br/partners/technology-partners/aws/","GitLab on AWS",{"text":1342,"config":1343},"GitLab no Google Cloud",{"href":1344,"dataGaName":1345,"dataGaLocation":1323},"/pt-br/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":1065,"config":1347},{"href":1070,"dataGaName":1348,"dataGaLocation":1323},"Why GitLab?",{"freeTrial":1350,"mobileIcon":1355,"desktopIcon":1360,"secondaryButton":1363},{"text":1351,"config":1352},"Iniciar avaliação gratuita",{"href":1353,"dataGaName":975,"dataGaLocation":1354},"https://gitlab.com/-/trials/new/","nav",{"altText":1356,"config":1357},"Ícone do GitLab",{"src":1358,"dataGaName":1359,"dataGaLocation":1354},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1356,"config":1361},{"src":1362,"dataGaName":1359,"dataGaLocation":1354},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1364,"config":1365},"Primeiros passos",{"href":1366,"dataGaName":1367,"dataGaLocation":1354},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/pt-br/get-started/","get started",{"freeTrial":1369,"mobileIcon":1373,"desktopIcon":1375},{"text":1370,"config":1371},"Saiba mais sobre o GitLab Duo",{"href":1049,"dataGaName":1372,"dataGaLocation":1354},"gitlab duo",{"altText":1356,"config":1374},{"src":1358,"dataGaName":1359,"dataGaLocation":1354},{"altText":1356,"config":1376},{"src":1362,"dataGaName":1359,"dataGaLocation":1354},{"button":1378,"mobileIcon":1383,"desktopIcon":1385},{"text":1379,"config":1380},"/switch",{"href":1381,"dataGaName":1382,"dataGaLocation":1354},"#contact","switch",{"altText":1356,"config":1384},{"src":1358,"dataGaName":1359,"dataGaLocation":1354},{"altText":1356,"config":1386},{"src":1387,"dataGaName":1359,"dataGaLocation":1354},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1389,"mobileIcon":1394,"desktopIcon":1396},{"text":1390,"config":1391},"Voltar para preços",{"href":1163,"dataGaName":1392,"dataGaLocation":1354,"icon":1393},"back to pricing","GoBack",{"altText":1356,"config":1395},{"src":1358,"dataGaName":1359,"dataGaLocation":1354},{"altText":1356,"config":1397},{"src":1362,"dataGaName":1359,"dataGaLocation":1354},{"title":1399,"button":1400,"config":1403},"GitLab Orbit chegou: a camada de contexto para agentes de IA.",{"text":1068,"config":1401},{"href":1054,"dataGaName":1402,"dataGaLocation":970},"orbit",{"layout":1404,"disabled":951},"release",{"data":1406},{"text":1407,"source":1408,"edit":1414,"contribute":1419,"config":1424,"items":1429,"minimal":1649},"Git é uma marca comercial da Software Freedom Conservancy e nosso uso do nome \"GitLab\" está sob licença",{"text":1409,"config":1410},"Ver a origem da página",{"href":1411,"dataGaName":1412,"dataGaLocation":1413},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1415,"config":1416},"Editar esta página",{"href":1417,"dataGaName":1418,"dataGaLocation":1413},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1420,"config":1421},"Contribua",{"href":1422,"dataGaName":1423,"dataGaLocation":1413},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1425,"facebook":1426,"youtube":1427,"linkedin":1428},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1430,1476,1533,1575,1616],{"title":1161,"links":1431,"subMenu":1446},[1432,1436,1441],{"text":1433,"config":1434},"Confira os planos",{"href":1163,"dataGaName":1435,"dataGaLocation":1413},"view plans",{"text":1437,"config":1438},"Por que escolher o GitLab Premium?",{"href":1439,"dataGaName":1440,"dataGaLocation":1413},"/pt-br/pricing/premium/","why premium",{"text":1442,"config":1443},"Por que escolher o GitLab Ultimate?",{"href":1444,"dataGaName":1445,"dataGaLocation":1413},"/pt-br/pricing/ultimate/","why ultimate",[1447],{"title":1448,"links":1449},"Entre em contato conosco",[1450,1452,1454,1456,1461,1466,1471],{"text":1301,"config":1451},{"href":1303,"dataGaName":980,"dataGaLocation":1413},{"text":1306,"config":1453},{"href":1308,"dataGaName":1309,"dataGaLocation":1413},{"text":1311,"config":1455},{"href":1313,"dataGaName":1314,"dataGaLocation":1413},{"text":1457,"config":1458},"Status",{"href":1459,"dataGaName":1460,"dataGaLocation":1413},"https://status.gitlab.com/","status",{"text":1462,"config":1463},"Termos de uso",{"href":1464,"dataGaName":1465,"dataGaLocation":1413},"/terms/","terms of use",{"text":1467,"config":1468},"Aviso de privacidade",{"href":1469,"dataGaName":1470,"dataGaLocation":1413},"/pt-br/privacy/","privacy statement",{"text":1472,"config":1473},"Preferências de cookies",{"dataGaName":1474,"dataGaLocation":1413,"id":1475,"isOneTrustButton":230},"cookie preferences","ot-sdk-btn",{"title":988,"links":1477,"subMenu":1490},[1478,1480,1482,1484,1486,1488],{"text":994,"config":1479},{"href":996,"dataGaName":990,"dataGaLocation":1413},{"text":1047,"config":1481},{"href":1049,"dataGaName":1050,"dataGaLocation":1413},{"text":958,"config":1483},{"href":1003,"dataGaName":1004,"dataGaLocation":1413},{"text":1052,"config":1485},{"href":1054,"dataGaName":1055,"dataGaLocation":1413},{"text":1034,"config":1487},{"href":1036,"dataGaName":1037,"dataGaLocation":1413},{"text":1065,"config":1489},{"href":1070,"dataGaName":1071,"dataGaLocation":1413},[1491],{"title":1492,"links":1493},"Tópicos",[1494,1498,1503,1508,1513,1518,1523,1528],{"text":958,"config":1495},{"href":1496,"dataGaName":1497,"dataGaLocation":1413},"/pt-br/topics/ci-cd/","cicd",{"text":1499,"config":1500},"GitOps",{"href":1501,"dataGaName":1502,"dataGaLocation":1413},"/pt-br/topics/gitops/","gitops",{"text":1504,"config":1505},"DevOps",{"href":1506,"dataGaName":1507,"dataGaLocation":1413},"/pt-br/topics/devops/","devops",{"text":1509,"config":1510},"Controle de versão",{"href":1511,"dataGaName":1512,"dataGaLocation":1413},"/pt-br/topics/version-control/","version control",{"text":1514,"config":1515},"DevSecOps",{"href":1516,"dataGaName":1517,"dataGaLocation":1413},"/pt-br/topics/devsecops/","devsecops",{"text":1519,"config":1520},"De nuvem nativa",{"href":1521,"dataGaName":1522,"dataGaLocation":1413},"/pt-br/topics/cloud-native/","cloud native",{"text":1524,"config":1525},"IA para programação",{"href":1526,"dataGaName":1527,"dataGaLocation":1413},"/pt-br/topics/devops/ai-for-coding/","ai for coding",{"text":1529,"config":1530},"IA agêntica",{"href":1531,"dataGaName":1532,"dataGaLocation":1413},"/pt-br/topics/agentic-ai/","agentic ai",{"title":1073,"links":1534},[1535,1537,1539,1541,1543,1545,1547,1549,1551,1554,1556,1558,1560,1563,1567,1571],{"text":1086,"config":1536},{"href":1088,"dataGaName":1089,"dataGaLocation":1413},{"text":1091,"config":1538},{"href":1093,"dataGaName":1094,"dataGaLocation":1413},{"text":1096,"config":1540},{"href":1098,"dataGaName":1099,"dataGaLocation":1413},{"text":1122,"config":1542},{"href":1124,"dataGaName":1125,"dataGaLocation":1413},{"text":1127,"config":1544},{"href":1129,"dataGaName":1130,"dataGaLocation":1413},{"text":1132,"config":1546},{"href":1134,"dataGaName":1135,"dataGaLocation":1413},{"text":1137,"config":1548},{"href":1139,"dataGaName":1140,"dataGaLocation":1413},{"text":1142,"config":1550},{"href":1144,"dataGaName":1145,"dataGaLocation":1413},{"text":1552,"config":1553},"Setor aeroespacial",{"href":1149,"dataGaName":1150,"dataGaLocation":1413},{"text":1104,"config":1555},{"href":1106,"dataGaName":1107,"dataGaLocation":1413},{"text":1109,"config":1557},{"href":1111,"dataGaName":1112,"dataGaLocation":1413},{"text":1114,"config":1559},{"href":1116,"dataGaName":1117,"dataGaLocation":1413},{"text":1499,"config":1561},{"href":1562,"dataGaName":1502,"dataGaLocation":1413},"/pt-br/solutions/gitops/",{"text":1564,"config":1565},"Análise de composição de software",{"href":1041,"dataGaName":1566,"dataGaLocation":1413},"software composition analysis",{"text":1568,"config":1569},"Gestão de fluxo de valor do GitLab",{"href":1059,"dataGaName":1570,"dataGaLocation":1413},"value stream management",{"text":1572,"config":1573},"Todas as soluções",{"href":1080,"dataGaName":1574,"dataGaLocation":1413},"all solutions",{"title":1166,"links":1576},[1577,1582,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605,1607,1609,1612],{"text":1578,"config":1579},"Instalação",{"href":1580,"dataGaName":1581,"dataGaLocation":1413},"/pt-br/install/","install",{"text":1583,"config":1584},"Guias de início rápido",{"href":1585,"dataGaName":1586,"dataGaLocation":1413},"/pt-br/get-started/","quick setup checklists",{"text":1179,"config":1588},{"href":1181,"dataGaName":1182,"dataGaLocation":1413},{"text":1184,"config":1590},{"href":873,"dataGaName":1186,"dataGaLocation":1413},{"text":1188,"config":1592},{"href":1190,"dataGaName":1191,"dataGaLocation":1413},{"text":1193,"config":1594},{"href":1195,"dataGaName":1196,"dataGaLocation":1413},{"text":1198,"config":1596},{"href":1200,"dataGaName":1201,"dataGaLocation":1413},{"text":1206,"config":1598},{"href":1208,"dataGaName":1209,"dataGaLocation":1413},{"text":1211,"config":1600},{"href":1213,"dataGaName":1214,"dataGaLocation":1413},{"text":1216,"config":1602},{"href":1218,"dataGaName":1219,"dataGaLocation":1413},{"text":1221,"config":1604},{"href":1223,"dataGaName":1224,"dataGaLocation":1413},{"text":1226,"config":1606},{"href":1228,"dataGaName":1229,"dataGaLocation":1413},{"text":1289,"config":1608},{"href":1291,"dataGaName":1292,"dataGaLocation":1413},{"text":1610,"config":1611},"Novidades",{"href":1237,"dataGaName":1238,"dataGaLocation":1413},{"text":1613,"config":1614},"Todos os recursos",{"href":1173,"dataGaName":1615,"dataGaLocation":1413},"all resources",{"title":1240,"links":1617},[1618,1620,1622,1624,1626,1628,1630,1632,1634,1639,1644],{"text":1248,"config":1619},{"href":1250,"dataGaName":1242,"dataGaLocation":1413},{"text":1253,"config":1621},{"href":1255,"dataGaName":1256,"dataGaLocation":1413},{"text":1259,"config":1623},{"href":1261,"dataGaName":1262,"dataGaLocation":1413},{"text":1264,"config":1625},{"href":1266,"dataGaName":1267,"dataGaLocation":1413},{"text":1269,"config":1627},{"href":1271,"dataGaName":1272,"dataGaLocation":1413},{"text":1274,"config":1629},{"href":1276,"dataGaName":1277,"dataGaLocation":1413},{"text":1279,"config":1631},{"href":1281,"dataGaName":1282,"dataGaLocation":1413},{"text":1284,"config":1633},{"href":1286,"dataGaName":1287,"dataGaLocation":1413},{"text":1635,"config":1636},"Sustentabilidade",{"href":1637,"dataGaName":1638,"dataGaLocation":1413},"/sustainability/","Sustainability",{"text":1640,"config":1641},"Diversidade, inclusão e pertencimento (DIB)",{"href":1642,"dataGaName":1643,"dataGaLocation":1413},"/pt-br/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1645,"config":1646},"Declaração de Transparência da Lei da Escravidão Moderna",{"href":1647,"dataGaName":1648,"dataGaLocation":1413},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1650},[1651,1654,1657],{"text":1652,"config":1653},"Termos",{"href":1464,"dataGaName":1465,"dataGaLocation":1413},{"text":1655,"config":1656},"Cookies",{"dataGaName":1474,"dataGaLocation":1413,"id":1475,"isOneTrustButton":230},{"text":1658,"config":1659},"Privacidade",{"href":1469,"dataGaName":1470,"dataGaLocation":1413},[1661],{"id":1662,"title":1663,"body":946,"config":1664,"content":1666,"description":946,"extension":1669,"meta":1670,"navigation":230,"path":1671,"seo":1672,"stem":1673,"__hash__":1674},"blogAuthors/en-us/blog/authors/gitlab.yml","Gitlab",{"template":1665},"BlogAuthor",{"name":7,"config":1667},{"headshot":1668,"ctfId":7},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","yml",{},"/en-us/blog/authors/gitlab",{},"en-us/blog/authors/gitlab","XCBKIcPoCs6zi2oHG7o-bAp52Jhaw8_zGhIJ2jNrEjU",[1676,1684],{"title":1677,"description":1678,"heroImage":1679,"category":942,"date":1680,"authors":1681,"slug":1683,"externalUrl":946},"GitLab Transcend: Velocidade em que você pode confiar, até a produção","Todas as novidades do GitLab anunciadas no Transcend: o que já foi lançado, o que vem a caminho e como começar a usar.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198675/kmajkudog4fj3xc6qfyb.png","2026-10-06",[1682],"Manav Khurana","transcend-india-announcements",{"title":1685,"description":1686,"heroImage":1687,"category":942,"date":1680,"authors":1688,"slug":1690,"externalUrl":946},"GitLab Artifact Central: entregue certo na primeira vez","Reúna seus pacotes e imagens de container em um único lugar governado, bem ao lado do seu código e dos seus pipelines. O GitLab Artifact Central já está em beta gratuito.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791202579/fnumyad0wd7etsy55a9z.png",[1689],"Corinne Dent","transcend-artifact-central",{"header":1692,"blurb":1693,"button":1694,"secondaryButton":1699},"Comece a desenvolver mais rápido hoje","Veja o que sua equipe pode fazer com a plataforma de orquestração inteligente para DevSecOps.\n",{"text":1695,"config":1696},"Obtenha sua avaliação gratuita",{"href":1697,"dataGaName":975,"dataGaLocation":1698},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/pt-br/","feature",{"text":1301,"config":1700},{"href":1303,"dataGaName":980,"dataGaLocation":1698},{"header":1702,"text":1703,"button":1707,"disclaimer":1710},"Comece sua avaliação gratuita de\n\n30 dias do GitLab\n",[1704,1705,1706],"Acesso à GitLab Duo Agent Platform","Experimente nossos recursos mais avançados","Automatize tarefas complexas com IA",{"text":972,"config":1708},{"href":1709,"dataGaName":975,"dataGaLocation":1209},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/pt-br/blog/","Não é necessário cartão de crédito.",1791944968263]