[{"data":1,"prerenderedAt":859},["ShallowReactive",2],{"/pt-br/topics/ci-cd/continuous-integration-best-practices":3,"navigation-pt-br":173,"banner-pt-br":602,"footer-pt-br":610,"next-steps-pt-br":849},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":165,"meta":166,"navigation":167,"path":168,"seo":169,"slug":6,"stem":171,"testContent":6,"type":6,"__hash__":172},"pages/pt-br/topics/ci-cd/continuous-integration-best-practices/index.yml","",null,[8,22,30,110,163],{"type":9,"componentName":9,"componentContent":10},"CommonBreadcrumbs",{"crumbs":11},[12,16,20],{"title":13,"config":14},"Industry topics",{"href":15},"/pt-br/topics/",{"title":17,"config":18},"CI/CD",{"href":19},"/pt-br/topics/ci-cd/",{"title":21},"Continuous integration best practices",{"type":23,"componentName":23,"componentContent":24},"CommonArticleHero",{"title":25,"text":26,"config":27},"Melhores práticas de integração contínua","A [integração contínua (CI)](/topics/ci-cd/) ajuda as equipes de desenvolvimento a serem mais produtivas e a melhorar a qualidade geral do código. No entanto, a implementação da CI é apenas um passo para alcançar implantações mais rápidas. Para aproveitar ao máximo seu sistema de CI, é importante incorporar as práticas recomendadas de integração contínua ao seu fluxo de trabalho.\n",{"id":28,"twoColumns":29},"melhores-práticas-de-integração-contínua",false,{"type":31,"componentName":31,"componentContent":32},"CommonSideNavigationWithTree",{"anchors":33,"components":68},{"text":34,"data":35},"On this page",[36,40,44,48,52,56,60,64],{"text":37,"config":38},"Melhores práticas de CI: faça o commit cedo e com frequência",{"href":39},"#ci-best-practice-commit-early-commit-often",{"text":41,"config":42},"Melhores práticas de CI: leia a documentação (e depois leia novamente)",{"href":43},"#ci-best-practice-read-the-documentation-and-then-read-it-again",{"text":45,"config":46},"Melhores práticas de CI: otimizar as etapas do pipeline",{"href":47},"#ci-best-practice-optimize-pipeline-stages",{"text":49,"config":50},"Melhores práticas de CI: torne as compilações rápidas e simples",{"href":51},"#ci-best-practice-make-builds-fast-and-simple",{"text":53,"config":54},"Melhores práticas de CI: use falhas para melhorar os processos",{"href":55},"#ci-best-practice-use-failures-to-improve-processes",{"text":57,"config":58},"Melhores práticas de CI: o ambiente de teste deve espelhar a produção",{"href":59},"#ci-best-practice-test-environment-should-mirror-production",{"text":61,"config":62},"Saiba mais sobre as melhores práticas com o GitLab CI",{"href":63},"#learn-about-best-practices-with-git-lab-ci",{"text":65,"config":66},"Conclusão",{"href":67},"#conclusion",[69,75,80,85,90,95,100,105],{"type":70,"componentName":70,"componentContent":71},"TopicsCopy",{"header":37,"text":72,"config":73},"Como regra geral, é muito mais fácil corrigir problemas pequenos do que grandes. Uma das maiores vantagens da integração contínua é que o código é integrado a um repositório compartilhado em relação a outras alterações que acontecem ao mesmo tempo. Se uma equipe de desenvolvimento faz o commit de alterações de código cedo e com frequência, os bugs são mais fáceis de identificar porque há menos código para classificar.\n\nAo testar em pequenos lotes, a qualidade de código é aprimorada e as equipes podem iterar com mais eficiência.\n",{"id":74},"ci-best-practice-commit-early-commit-often",{"type":70,"componentName":70,"componentContent":76},{"header":41,"text":77,"config":78},"Os sistemas de integração contínua tornam a documentação amplamente disponível, o que pode ser muito útil muito depois de você implementar a CI no seu fluxo de trabalho. No GitLab, temos uma [documentação de CI/CD](https://docs.gitlab.com/ci/) completa que é atualizada com frequência para refletir os processos mais recentes.\n\nO pode ser útil para fazer referência à documentação em READMEs ou em outros formatos acessíveis. Incentive os membros da equipe a ler a documentação primeiro, adicionar links aos favoritos, criar perguntas frequentes e incorporar esses recursos à integração de novos membros da equipe.\n",{"id":79},"ci-best-practice-read-the-documentation-and-then-read-it-again",{"type":70,"componentName":70,"componentContent":81},{"header":45,"text":82,"config":83},"Os [pipelines de CI](https://about.gitlab.com/topics/ci-cd/cicd-pipeline/) contêm jobs e etapas: os jobs são as atividades que acontecem dentro de uma etapa específica e, uma vez que todos os são jobs passados, o código segue para a próxima etapa. Para aproveitar ao máximo seus pipelines de CI, otimize as etapas para que as falhas sejam fáceis de identificar e corrigir.\n\nAs etapas são uma maneira fácil de organizar jobs semelhantes, mas pode haver alguns jobs no seu pipeline que podem ser executados com segurança em uma etapa anterior sem afetar negativamente seu projeto caso falhem. Considere executar esses jobs em uma etapa anterior para [acelerar os pipelines de CI](https://about.gitlab.com/blog/guide-to-ci-cd-pipelines/).\n",{"id":84},"ci-best-practice-optimize-pipeline-stages",{"type":70,"componentName":70,"componentContent":86},{"header":49,"text":87,"config":88},"Nada atrasa um pipeline como a complexidade. Concentre-se em manter as compilações rápidas, e a melhor maneira de fazer isso é simplificar ao máximo as coisas.\n\nCada minuto economizado nos tempos de compilação é um minuto a menos para cada desenvolvedor toda vez que eles fazem o commit. Como a CI exige commits frequentes, esse tempo somado pode acabar sendo muito grande. Martin Fowler discute uma diretriz da [compilação em dez minutos](https://martinfowler.com/articles/continuousIntegration.html) que a maioria dos projetos modernos pode alcançar. Como a integração contínua exige commits frequentes, economizar tempo nas compilações de commit pode dar muito tempo aos desenvolvedores.\n",{"id":89},"ci-best-practice-make-builds-fast-and-simple",{"type":70,"componentName":70,"componentContent":91},{"header":53,"text":92,"config":93},"A melhoria é um processo. Quando as equipes alteram a sua [resposta a falhas](https://opensource.com/article/20/5/cicd-best-practices), isso cria uma mudança cultural voltada para a melhoria contínua. Em vez de perguntar ***quem*** causou a falha, pergunte ***o que*** causou a falha. Isso significa mudar de uma cultura de culpa para uma cultura de aprendizagem.\n\nSe as equipes estão fazendo commits frequentes, fica muito mais fácil identificar problemas e resolvê-los. Se houver padrões nas compilações com falha, observe as causas subjacentes. Existem erros não relacionados ao código que estão causando compilações de forma desnecessária? Talvez incorpore um [parâmetro] `allow_failure` (https://docs.gitlab.com/ci/yaml/#keywords). Procure maneiras de melhorar continuamente, torne as falhas irrepreensíveis e procure causas (não culpados).\n",{"id":94},"ci-best-practice-use-failures-to-improve-processes",{"type":70,"componentName":70,"componentContent":96},{"header":57,"text":97,"config":98},"Na integração contínua, cada commit aciona uma compilação. Essas compilações executam testes para identificar se algo será quebrado pelas alterações de código introduzidas. A [pirâmide de testes](https://martinfowler.com/bliki/TestPyramid.html) é uma maneira de os desenvolvedores pensarem em como equilibrar os testes.  O teste de ponta a ponta é usado principalmente como uma salvaguarda, enquanto o teste unitário é usado com mais frequência para identificar erros. Uma coisa importante a ter em mente com os testes é o ambiente. Quando os ambientes de teste e produção são iguais, isso significa que os desenvolvedores podem confiar nos resultados e implantar com confiança.\n\nNo GitLab, os [Review Apps](https://docs.gitlab.com/ci/review_apps/) colocam o novo código em um ambiente ao vivo semelhante ao de produção para visualizar as alterações no código. Esse recurso ajuda os desenvolvedores a avaliar o impacto das alterações.\n\nA integração contínua ajuda os desenvolvedores a implantar mais rapidamente e obter feedback mais cedo. Em última análise, o melhor sistema de integração contínua é o que você realmente usa. Encontre [a CI certa](https://about.gitlab.com/topics/ci-cd/choose-continuous-integration-tool/) para suas necessidades e incorpore essas práticas recomendadas para aproveitar ao máximo seu novo fluxo de trabalho de CI.\n",{"id":99},"ci-best-practice-test-environment-should-mirror-production",{"type":70,"componentName":70,"componentContent":101},{"header":61,"text":102,"config":103},"\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube-nocookie.com/embed/jeCF-dUFaZY\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen>\u003C/iframe>\n",{"id":104},"learn-about-best-practices-with-git-lab-ci",{"type":70,"componentName":70,"componentContent":106},{"header":65,"text":107,"config":108},"Ao adotar as melhores práticas descritas, as equipes de desenvolvimento de software, incluindo as equipes de engenharia de plataforma e de DevOps, podem aprimorar seus esforços de integração contínua, simplificando o processo de desenvolvimento e implantação. À medida que essas práticas se tornam mais incorporadas ao ambiente de desenvolvimento, o alinhamento entre os objetivos da equipe de engenharia e a execução operacional aumenta.\n\nLembre-se de que o sistema de integração contínua mais forte não se resume a ferramentas, a eficácia com que a sua equipe as utiliza para promover melhorias e alcançar resultados rápidos e confiáveis é igualmente importante.\n",{"id":109},"conclusion",{"type":111,"componentName":111,"componentContent":112},"CommonResourcesContainer",{"header":113,"tabs":114},"Conteúdo sugerido",[115],{"name":116,"items":117,"config":162},"resources",[118,129,137,146,154],{"header":119,"type":120,"image":121,"link":124},"Gráficos de burndown e burnup","Artigo",{"altText":119,"config":122},{"src":123},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749158619/Website/Topics/resources_18.jpg",{"text":125,"config":126},"Saiba mais",{"href":127,"icon":128,"modal":29},"https://docs.gitlab.com/user/project/milestones/burndown_and_burnup_charts/","Article",{"header":130,"type":120,"image":131,"link":134},"Marcos como sprints de Agile",{"altText":130,"config":132},{"src":133},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749158268/Website/Topics/resources_5.jpg",{"text":125,"config":135},{"href":136,"icon":128,"modal":29},"https://docs.gitlab.com/user/project/milestones/#milestones-as-agile-sprints",{"header":138,"type":139,"image":140,"link":143},"Como usar o GitLab para desenvolvimento de software Agile","Web",{"altText":138,"config":141},{"src":142},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749158430/Website/Topics/alteryx_case_study.jpg",{"text":125,"config":144},{"href":145,"icon":139,"modal":29},"/blog/gitlab-for-agile-software-development/",{"header":147,"type":139,"image":148,"link":151},"Como usar o GitLab para Agile, CI/CD, GitOps e muito mais",{"altText":147,"config":149},{"src":150},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749159329/Website/Topics/conversicaimage.jpg",{"text":125,"config":152},{"href":153,"icon":139,"modal":29},"/blog/gitlab-for-cicd-agile-gitops-cloudnative/",{"header":155,"type":139,"image":156,"link":159},"Como usar o GitLab para planejamento de portfólio Agile e gerenciamento de projetos",{"altText":155,"config":157},{"src":158},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749158681/Website/Topics/agilemultipleteams.jpg",{"text":125,"config":160},{"href":161,"icon":139,"modal":29},"/blog/gitlab-for-agile-portfolio-planning-project-management/",{"key":116},{"type":164,"componentName":164},"CommonNextSteps","yml",{},true,"/pt-br/topics/ci-cd/continuous-integration-best-practices",{"title":25,"description":170},"Saiba como otimizar seu fluxo de trabalho com essas práticas recomendadas de integração contínua.","pt-br/topics/ci-cd/continuous-integration-best-practices/index","KLFwej3crXW0GEM-t9soky0QHlohQ2YXhmOVOGcu55E",{"logo":174,"freeTrial":179,"sales":184,"login":189,"items":194,"search":519,"minimal":554,"duo":572,"switchNav":581,"pricingDeployment":592},{"config":175},{"href":176,"dataGaName":177,"dataGaLocation":178},"/pt-br/","gitlab logo","header",{"text":180,"config":181},"Obtenha uma avaliação gratuita",{"href":182,"dataGaName":183,"dataGaLocation":178},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/pt-br&glm_content=default-saas-trial/","free trial",{"text":185,"config":186},"Solicite uma demonstração",{"href":187,"dataGaName":188,"dataGaLocation":178},"/pt-br/sales/?contact-topic=request-demo","sales",{"text":190,"config":191},"Fazer login",{"href":192,"dataGaName":193,"dataGaLocation":178},"https://gitlab.com/users/sign_in/","sign in",[195,223,324,329,441,497],{"text":196,"config":197,"menu":199},"Plataforma",{"dataNavLevelOne":198},"platform",{"type":200,"columns":201},"cards",[202,208,216],{"title":196,"description":203,"link":204},"A plataforma de orquestração inteligente para DevSecOps",{"text":205,"config":206},"Conheça nossa plataforma",{"href":207,"dataGaName":198,"dataGaLocation":178},"/pt-br/platform/",{"title":209,"description":210,"link":211},"Plataforma de Agente do GitLab Duo","IA agêntica para todo o ciclo de vida do software",{"text":212,"config":213},"Conheça o GitLab Duo",{"href":214,"dataGaName":215,"dataGaLocation":178},"/pt-br/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":217,"description":218,"link":219},"Por que escolher o GitLab?","Saiba os principais motivos pelos quais as empresas escolhem o GitLab",{"text":125,"config":220},{"href":221,"dataGaName":222,"dataGaLocation":178},"/pt-br/why-gitlab/","why gitlab",{"text":224,"left":167,"config":225,"menu":227},"Produtos",{"dataNavLevelOne":226},"solutions",{"type":228,"link":229,"columns":233,"feature":303},"lists",{"text":230,"config":231},"Confira todas as soluções",{"href":232,"dataGaName":226,"dataGaLocation":178},"/pt-br/solutions/",[234,258,281],{"title":235,"description":236,"link":237,"items":242},"Automação","CI/CD e automação para acelerar a implantação",{"config":238},{"icon":239,"href":240,"dataGaName":241,"dataGaLocation":178},"AutomatedCodeAlt","/pt-br/solutions/delivery-automation/","automated software delivery",[243,246,249,254],{"text":17,"config":244},{"href":245,"dataGaLocation":178,"dataGaName":17},"/pt-br/solutions/continuous-integration/",{"text":209,"config":247},{"href":214,"dataGaLocation":178,"dataGaName":248},"gitlab duo agent platform - product menu",{"text":250,"config":251},"Gerenciamento de código-fonte",{"href":252,"dataGaLocation":178,"dataGaName":253},"/pt-br/solutions/source-code-management/","Source Code Management",{"text":255,"config":256},"Entrega automatizada de software",{"href":240,"dataGaLocation":178,"dataGaName":257},"Automated software delivery",{"title":259,"description":260,"link":261,"items":266},"Segurança","Acelere a entrega de código sem comprometer a segurança",{"config":262},{"href":263,"dataGaName":264,"dataGaLocation":178,"icon":265},"/pt-br/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[267,271,276],{"text":268,"config":269},"Testes de segurança de aplicações",{"href":263,"dataGaName":270,"dataGaLocation":178},"Application security testing",{"text":272,"config":273},"Segurança da cadeia de suprimentos de software",{"href":274,"dataGaLocation":178,"dataGaName":275},"/pt-br/solutions/supply-chain/","Software supply chain security",{"text":277,"config":278},"Conformidade de software",{"href":279,"dataGaName":280,"dataGaLocation":178},"/pt-br/solutions/software-compliance/","software compliance",{"title":282,"link":283,"items":288},"Medição",{"config":284},{"icon":285,"href":286,"dataGaName":287,"dataGaLocation":178},"DigitalTransformation","/pt-br/solutions/visibility-measurement/","visibility and measurement",[289,293,298],{"text":290,"config":291},"Visibilidade e métricas",{"href":286,"dataGaLocation":178,"dataGaName":292},"Visibility and Measurement",{"text":294,"config":295},"Gestão de fluxo de valor do GitLab",{"href":296,"dataGaLocation":178,"dataGaName":297},"/pt-br/solutions/value-stream-management/","Value Stream Management",{"text":299,"config":300},"Análise e insights",{"href":301,"dataGaLocation":178,"dataGaName":302},"/pt-br/solutions/analytics-and-insights/","Analytics and insights",{"title":304,"type":228,"items":305},"GitLab para",[306,312,318],{"text":307,"config":308},"Enterprise",{"icon":309,"href":310,"dataGaLocation":178,"dataGaName":311},"Building","/pt-br/enterprise/","enterprise",{"text":313,"config":314},"Pequenas empresas",{"icon":315,"href":316,"dataGaLocation":178,"dataGaName":317},"Work","/pt-br/small-business/","small business",{"text":319,"config":320},"Setor público",{"icon":321,"href":322,"dataGaLocation":178,"dataGaName":323},"Organization","/pt-br/solutions/public-sector/","public sector",{"text":325,"config":326},"Preços",{"href":327,"dataGaName":328,"dataGaLocation":178,"dataNavLevelOne":328},"/pt-br/pricing/","pricing",{"text":330,"config":331,"menu":332},"Recursos",{"dataNavLevelOne":116},{"type":228,"link":333,"columns":337,"feature":430},{"text":334,"config":335},"Confira todos os recursos",{"href":336,"dataGaName":116,"dataGaLocation":178},"/pt-br/resources/",[338,370,397],{"title":339,"items":340},"Primeiros passos",[341,346,351,355,360,365],{"text":342,"config":343},"Instalação",{"href":344,"dataGaName":345,"dataGaLocation":178},"/pt-br/install/","install",{"text":347,"config":348},"Guias de início rápido",{"href":349,"dataGaName":350,"dataGaLocation":178},"/pt-br/get-started/","quick setup checklists",{"text":125,"config":352},{"href":353,"dataGaLocation":178,"dataGaName":354},"https://university.gitlab.com/","learn",{"text":356,"config":357},"Documentação do produto",{"href":358,"dataGaName":359,"dataGaLocation":178},"https://docs.gitlab.com/","product documentation",{"text":361,"config":362},"Vídeos de melhores práticas",{"href":363,"dataGaName":364,"dataGaLocation":178},"/pt-br/getting-started-videos/","best practice videos",{"text":366,"config":367},"Integrações",{"href":368,"dataGaName":369,"dataGaLocation":178},"/pt-br/integrations/","integrations",{"title":371,"items":372},"Descubra",[373,378,383,388,392],{"text":374,"config":375},"Histórias de sucesso de clientes",{"href":376,"dataGaName":377,"dataGaLocation":178},"/pt-br/customers/","customer success stories",{"text":379,"config":380},"Blog",{"href":381,"dataGaName":382,"dataGaLocation":178},"/blog/","blog",{"text":384,"config":385},"Demo Hub",{"href":386,"dataGaName":387,"dataGaLocation":178},"/demo-hub/","demo hub",{"text":389,"config":390},"The Source",{"href":391,"dataGaName":382,"dataGaLocation":178},"/pt-br/the-source/",{"text":393,"config":394},"Trabalho remoto",{"href":395,"dataGaName":396,"dataGaLocation":178},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":398,"items":399},"Conecte-se",[400,405,410,415,420,425],{"text":401,"config":402},"Serviços do GitLab",{"href":403,"dataGaName":404,"dataGaLocation":178},"/pt-br/services/","services",{"text":406,"config":407},"Contribua",{"href":408,"dataGaName":409,"dataGaLocation":178},"https://contributors.gitlab.com","contribute",{"text":411,"config":412},"Comunidade",{"href":413,"dataGaName":414,"dataGaLocation":178},"/community/","community",{"text":416,"config":417},"Fórum",{"href":418,"dataGaName":419,"dataGaLocation":178},"https://forum.gitlab.com/","forum",{"text":421,"config":422},"Eventos",{"href":423,"dataGaName":424,"dataGaLocation":178},"/events/","events",{"text":426,"config":427},"Parceiros",{"href":428,"dataGaName":429,"dataGaLocation":178},"/pt-br/partners/","partners",{"config":431,"title":434,"text":435,"link":436},{"background":432,"textColor":433},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Novidades no GitLab","Acompanhe as melhorias e os recursos mais recentes.",{"text":437,"config":438},"Confira as novidades",{"href":439,"dataGaName":440,"dataGaLocation":178},"/pt-br/whats-new/","whats new",{"text":442,"config":443,"menu":445},"Empresa",{"dataNavLevelOne":444},"company",{"type":228,"columns":446},[447],{"items":448},[449,454,460,462,467,472,477,482,487,492],{"text":450,"config":451},"Sobre",{"href":452,"dataGaName":453,"dataGaLocation":178},"/pt-br/company/","about",{"text":455,"config":456,"footerGa":459},"Vagas",{"href":457,"dataGaName":458,"dataGaLocation":178},"/jobs/","jobs",{"dataGaName":458},{"text":421,"config":461},{"href":423,"dataGaName":424,"dataGaLocation":178},{"text":463,"config":464},"Liderança",{"href":465,"dataGaName":466,"dataGaLocation":178},"/company/team/e-group/","leadership",{"text":468,"config":469},"Manual",{"href":470,"dataGaName":471,"dataGaLocation":178},"https://handbook.gitlab.com/","handbook",{"text":473,"config":474},"Relações com investidores",{"href":475,"dataGaName":476,"dataGaLocation":178},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":478,"config":479},"Trust Center",{"href":480,"dataGaName":481,"dataGaLocation":178},"/pt-br/security/","trust center",{"text":483,"config":484},"AI Transparency Center",{"href":485,"dataGaName":486,"dataGaLocation":178},"/pt-br/ai-transparency-center/","ai transparency center",{"text":488,"config":489},"Boletim informativo",{"href":490,"dataGaName":491,"dataGaLocation":178},"/company/contact/#contact-forms","newsletter",{"text":493,"config":494},"Imprensa",{"href":495,"dataGaName":496,"dataGaLocation":178},"/press/","press",{"text":498,"config":499,"menu":500},"Entre em contato",{"dataNavLevelOne":444},{"type":228,"columns":501},[502],{"items":503},[504,509,514],{"text":505,"config":506},"Fale com a equipe de vendas",{"href":507,"dataGaName":508,"dataGaLocation":178},"/pt-br/sales/","talk to sales",{"text":510,"config":511},"Portal de ajuda",{"href":512,"dataGaName":513,"dataGaLocation":178},"https://support.gitlab.com/hc/en-us","support portal",{"text":515,"config":516},"Portal de clientes",{"href":517,"dataGaName":518,"dataGaLocation":178},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":520,"login":521,"suggestions":528},"Fechar",{"text":522,"link":523},"Para pesquisar repositórios e projetos, faça login em",{"text":524,"config":525},"gitlab.com",{"href":192,"dataGaName":526,"dataGaLocation":527},"search login","search",{"text":529,"default":530},"Sugestões",[531,534,539,541,546,551],{"text":209,"config":532},{"href":214,"dataGaName":533,"dataGaLocation":527},"GitLab Duo Agent Platform",{"text":535,"config":536},"Sugestões de código (AI)",{"href":537,"dataGaName":538,"dataGaLocation":527},"/pt-br/solutions/code-suggestions/","Code Suggestions (AI)",{"text":17,"config":540},{"href":245,"dataGaName":17,"dataGaLocation":527},{"text":542,"config":543},"GitLab na AWS",{"href":544,"dataGaName":545,"dataGaLocation":527},"/pt-br/partners/technology-partners/aws/","GitLab on AWS",{"text":547,"config":548},"GitLab no Google Cloud",{"href":549,"dataGaName":550,"dataGaLocation":527},"/pt-br/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":217,"config":552},{"href":221,"dataGaName":553,"dataGaLocation":527},"Why GitLab?",{"freeTrial":555,"mobileIcon":560,"desktopIcon":565,"secondaryButton":568},{"text":556,"config":557},"Iniciar avaliação gratuita",{"href":558,"dataGaName":183,"dataGaLocation":559},"https://gitlab.com/-/trials/new/","nav",{"altText":561,"config":562},"Ícone do GitLab",{"src":563,"dataGaName":564,"dataGaLocation":559},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":561,"config":566},{"src":567,"dataGaName":564,"dataGaLocation":559},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":339,"config":569},{"href":570,"dataGaName":571,"dataGaLocation":559},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/pt-br/get-started/","get started",{"freeTrial":573,"mobileIcon":577,"desktopIcon":579},{"text":574,"config":575},"Saiba mais sobre o GitLab Duo",{"href":214,"dataGaName":576,"dataGaLocation":559},"gitlab duo",{"altText":561,"config":578},{"src":563,"dataGaName":564,"dataGaLocation":559},{"altText":561,"config":580},{"src":567,"dataGaName":564,"dataGaLocation":559},{"button":582,"mobileIcon":587,"desktopIcon":589},{"text":583,"config":584},"/switch",{"href":585,"dataGaName":586,"dataGaLocation":559},"#contact","switch",{"altText":561,"config":588},{"src":563,"dataGaName":564,"dataGaLocation":559},{"altText":561,"config":590},{"src":591,"dataGaName":564,"dataGaLocation":559},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":593,"mobileIcon":598,"desktopIcon":600},{"text":594,"config":595},"Voltar para preços",{"href":327,"dataGaName":596,"dataGaLocation":559,"icon":597},"back to pricing","GoBack",{"altText":561,"config":599},{"src":563,"dataGaName":564,"dataGaLocation":559},{"altText":561,"config":601},{"src":567,"dataGaName":564,"dataGaLocation":559},{"title":603,"button":604,"config":608},"GitLab Orbit chegou: a camada de contexto para agentes de IA.",{"text":125,"config":605},{"href":606,"dataGaName":607,"dataGaLocation":178},"/pt-br/gitlab-orbit/","orbit",{"layout":609,"disabled":29},"release",{"data":611},{"text":612,"source":613,"edit":619,"contribute":624,"config":628,"items":633,"minimal":839},"Git é uma marca comercial da Software Freedom Conservancy e nosso uso do nome \"GitLab\" está sob licença",{"text":614,"config":615},"Ver a origem da página",{"href":616,"dataGaName":617,"dataGaLocation":618},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":620,"config":621},"Editar esta página",{"href":622,"dataGaName":623,"dataGaLocation":618},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":406,"config":625},{"href":626,"dataGaName":627,"dataGaLocation":618},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":629,"facebook":630,"youtube":631,"linkedin":632},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[634,680,732,774,806],{"title":325,"links":635,"subMenu":650},[636,640,645],{"text":637,"config":638},"Confira os planos",{"href":327,"dataGaName":639,"dataGaLocation":618},"view plans",{"text":641,"config":642},"Por que escolher o GitLab Premium?",{"href":643,"dataGaName":644,"dataGaLocation":618},"/pt-br/pricing/premium/","why premium",{"text":646,"config":647},"Por que escolher o GitLab Ultimate?",{"href":648,"dataGaName":649,"dataGaLocation":618},"/pt-br/pricing/ultimate/","why ultimate",[651],{"title":652,"links":653},"Entre em contato conosco",[654,656,658,660,665,670,675],{"text":505,"config":655},{"href":507,"dataGaName":188,"dataGaLocation":618},{"text":510,"config":657},{"href":512,"dataGaName":513,"dataGaLocation":618},{"text":515,"config":659},{"href":517,"dataGaName":518,"dataGaLocation":618},{"text":661,"config":662},"Status",{"href":663,"dataGaName":664,"dataGaLocation":618},"https://status.gitlab.com/","status",{"text":666,"config":667},"Termos de uso",{"href":668,"dataGaName":669,"dataGaLocation":618},"/terms/","terms of use",{"text":671,"config":672},"Aviso de privacidade",{"href":673,"dataGaName":674,"dataGaLocation":618},"/pt-br/privacy/","privacy statement",{"text":676,"config":677},"Preferências de cookies",{"dataGaName":678,"dataGaLocation":618,"id":679,"isOneTrustButton":167},"cookie preferences","ot-sdk-btn",{"title":224,"links":681,"subMenu":690},[682,686],{"text":683,"config":684},"Plataforma DevSecOps",{"href":207,"dataGaName":685,"dataGaLocation":618},"devsecops platform",{"text":687,"config":688},"Desenvolvimento auxiliado por IA",{"href":214,"dataGaName":689,"dataGaLocation":618},"ai-assisted development",[691],{"title":692,"links":693},"Tópicos",[694,697,702,707,712,717,722,727],{"text":17,"config":695},{"href":19,"dataGaName":696,"dataGaLocation":618},"cicd",{"text":698,"config":699},"GitOps",{"href":700,"dataGaName":701,"dataGaLocation":618},"/pt-br/topics/gitops/","gitops",{"text":703,"config":704},"DevOps",{"href":705,"dataGaName":706,"dataGaLocation":618},"/pt-br/topics/devops/","devops",{"text":708,"config":709},"Controle de versão",{"href":710,"dataGaName":711,"dataGaLocation":618},"/pt-br/topics/version-control/","version control",{"text":713,"config":714},"DevSecOps",{"href":715,"dataGaName":716,"dataGaLocation":618},"/pt-br/topics/devsecops/","devsecops",{"text":718,"config":719},"De nuvem nativa",{"href":720,"dataGaName":721,"dataGaLocation":618},"/pt-br/topics/cloud-native/","cloud native",{"text":723,"config":724},"IA para programação",{"href":725,"dataGaName":726,"dataGaLocation":618},"/pt-br/topics/devops/ai-for-coding/","ai for coding",{"text":728,"config":729},"IA agêntica",{"href":730,"dataGaName":731,"dataGaLocation":618},"/pt-br/topics/agentic-ai/","agentic ai",{"title":733,"links":734},"Soluções",[735,738,740,745,749,752,755,758,760,762,764,769],{"text":268,"config":736},{"href":263,"dataGaName":737,"dataGaLocation":618},"Application Security Testing",{"text":255,"config":739},{"href":240,"dataGaName":241,"dataGaLocation":618},{"text":741,"config":742},"Desenvolvimento ágil",{"href":743,"dataGaName":744,"dataGaLocation":618},"/pt-br/solutions/agile-delivery/","agile delivery",{"text":746,"config":747},"SCM",{"href":252,"dataGaName":748,"dataGaLocation":618},"source code management",{"text":17,"config":750},{"href":245,"dataGaName":751,"dataGaLocation":618},"continuous integration & delivery",{"text":294,"config":753},{"href":296,"dataGaName":754,"dataGaLocation":618},"value stream management",{"text":698,"config":756},{"href":757,"dataGaName":701,"dataGaLocation":618},"/pt-br/solutions/gitops/",{"text":307,"config":759},{"href":310,"dataGaName":311,"dataGaLocation":618},{"text":313,"config":761},{"href":316,"dataGaName":317,"dataGaLocation":618},{"text":319,"config":763},{"href":322,"dataGaName":323,"dataGaLocation":618},{"text":765,"config":766},"Educação",{"href":767,"dataGaName":768,"dataGaLocation":618},"/pt-br/solutions/education/","education",{"text":770,"config":771},"Serviços financeiros",{"href":772,"dataGaName":773,"dataGaLocation":618},"/pt-br/solutions/finance/","financial services",{"title":330,"links":775},[776,778,780,782,785,787,790,792,794,796,798,800,802,804],{"text":342,"config":777},{"href":344,"dataGaName":345,"dataGaLocation":618},{"text":347,"config":779},{"href":349,"dataGaName":350,"dataGaLocation":618},{"text":125,"config":781},{"href":353,"dataGaName":354,"dataGaLocation":618},{"text":356,"config":783},{"href":358,"dataGaName":784,"dataGaLocation":618},"docs",{"text":379,"config":786},{"href":381,"dataGaName":382,"dataGaLocation":618},{"text":788,"config":789},"Novidades",{"href":439,"dataGaName":440,"dataGaLocation":618},{"text":374,"config":791},{"href":376,"dataGaName":377,"dataGaLocation":618},{"text":393,"config":793},{"href":395,"dataGaName":396,"dataGaLocation":618},{"text":401,"config":795},{"href":403,"dataGaName":404,"dataGaLocation":618},{"text":406,"config":797},{"href":408,"dataGaName":409,"dataGaLocation":618},{"text":411,"config":799},{"href":413,"dataGaName":414,"dataGaLocation":618},{"text":416,"config":801},{"href":418,"dataGaName":419,"dataGaLocation":618},{"text":421,"config":803},{"href":423,"dataGaName":424,"dataGaLocation":618},{"text":426,"config":805},{"href":428,"dataGaName":429,"dataGaLocation":618},{"title":442,"links":807},[808,810,812,814,816,818,823,828,830,832,834],{"text":450,"config":809},{"href":452,"dataGaName":444,"dataGaLocation":618},{"text":455,"config":811},{"href":457,"dataGaName":458,"dataGaLocation":618},{"text":463,"config":813},{"href":465,"dataGaName":466,"dataGaLocation":618},{"text":468,"config":815},{"href":470,"dataGaName":471,"dataGaLocation":618},{"text":473,"config":817},{"href":475,"dataGaName":476,"dataGaLocation":618},{"text":819,"config":820},"Sustentabilidade",{"href":821,"dataGaName":822,"dataGaLocation":618},"/sustainability/","Sustainability",{"text":824,"config":825},"Diversidade, inclusão e pertencimento (DIB)",{"href":826,"dataGaName":827,"dataGaLocation":618},"/pt-br/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":478,"config":829},{"href":480,"dataGaName":481,"dataGaLocation":618},{"text":488,"config":831},{"href":490,"dataGaName":491,"dataGaLocation":618},{"text":493,"config":833},{"href":495,"dataGaName":496,"dataGaLocation":618},{"text":835,"config":836},"Declaração de Transparência da Lei da Escravidão Moderna",{"href":837,"dataGaName":838,"dataGaLocation":618},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":840},[841,844,846],{"text":842,"config":843},"Termos",{"href":668,"dataGaName":669,"dataGaLocation":618},{"text":676,"config":845},{"dataGaName":678,"dataGaLocation":618,"id":679,"isOneTrustButton":167},{"text":847,"config":848},"Privacidade",{"href":673,"dataGaName":674,"dataGaLocation":618},{"header":850,"blurb":851,"button":852,"secondaryButton":857},"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":853,"config":854},"Obtenha sua avaliação gratuita",{"href":855,"dataGaName":183,"dataGaLocation":856},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/pt-br/","feature",{"text":505,"config":858},{"href":507,"dataGaName":188,"dataGaLocation":856},1786803795111]