[{"data":1,"prerenderedAt":770},["ShallowReactive",2],{"/pt-br/topics/gitops/gitops-multicloud-deployments-gitlab/":3,"navigation-pt-br":117,"banner-pt-br":536,"footer-pt-br":549,"next-steps-pt-br":755},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":13,"_id":111,"_type":112,"title":7,"_source":113,"_file":114,"_stem":115,"_extension":116},"/pt-br/topics/gitops/gitops-multicloud-deployments-gitlab","gitops",false,"",{"title":9,"description":10,"config":11},"Implantação multicloud para GitOps usando GitLab: uma demonstração","GitLab Topics | Multicloud deployment for GitOps using GitLab: A demo",{"ignoreTitleCharLimit":12},true,[14,28,34,109],{"type":15,"componentName":15,"componentContent":16},"CommonBreadcrumbs",{"crumbs":17},[18,22,26],{"title":19,"config":20},"Industry topics",{"href":21},"/topics/",{"title":23,"config":24},"GitOps",{"href":25},"/pt-br/topics/gitops/",{"title":27},"GitOps multicloud deployments gitlab",{"type":29,"componentName":29,"componentContent":30},"CommonArticleHero",{"title":9,"text":31,"config":32},"Como a compatibilidade com multicloud apoia os fluxos de trabalho GitOps. Esta demonstração explica como implantar aplicações em três servidores Kubernetes usando um fluxo de trabalho comum.\n",{"id":33,"twoColumns":6},"implantação-multicloud-para-gitops-usando-gitlab:-uma-demonstração",{"type":35,"componentName":35,"componentContent":36},"CommonSideNavigationWithTree",{"anchors":37,"components":68},{"text":38,"data":39},"Mais informações sobre esse tópico",[40,44,48,52,56,60,64],{"text":41,"config":42},"Implantações multicloud usando GitOps e GitLab",{"href":43},"#multicloud-deployments-using-git-ops-and-git-lab",{"text":45,"config":46},"Dentro da pasta de aplicações",{"href":47},"#inside-the-applications-folder",{"text":49,"config":50},"Aplicação ASP.NET no AKS",{"href":51},"#aspnet-application-on-aks",{"text":53,"config":54},"Aplicação Java Spring no GKE",{"href":55},"#java-spring-application-on-gke",{"text":57,"config":58},"Aplicação Python no EKS",{"href":59},"#python-application-on-eks",{"text":61,"config":62},"GitLab para GitOps",{"href":63},"#git-lab-for-git-ops",{"text":65,"config":66},"Quer saber mais sobre o GitOps?",{"href":67},"#ready-to-learn-more-about-git-ops",[69,74,79,84,89,94,99,104],{"type":70,"componentName":70,"componentContent":71},"TopicsCopy",{"text":72,"config":73},"Os fluxos de trabalho GitOps usam um repositório Git como uma fonte única de verdade para facilitar a colaboração, unindo equipes de infraestrutura para acelerar o desenvolvimento e a entrega de software. Quando as equipes de operações usam os [fluxos de trabalho GitOps](/topics/gitops/gitops-workflow/){data-ga-name=\"gitops workflows\" data-ga-location=\"body\"}, os benefícios vão além do controle de versão ao usar o GitLab como o repositório central. As equipes usam o GitLab devido à sua plataforma colaborativa, facilidade de implantação de infraestrutura e compatibilidade com multicloud.\n",{"id":7},{"type":70,"componentName":70,"componentContent":75},{"header":41,"text":76,"config":77},"Esta demonstração explica como implantar aplicações em três servidores Kubernetes usando um fluxo de trabalho comum. As equipes aprenderão a implantar com sucesso aplicações usando o Auto DevOps, com tecnologia de CI do GitLab, com Helm e Kubernetes.\nA primeira etapa é abrir o [arquivo README.md do grupo gitops-demo](https://gitlab.com/gitops-demo/readme), que mostra a estrutura do grupo gitops-demo. Existem alguns projetos e dois subgrupos: infraestrutura e [aplicações](https://gitlab.com/gitops-demo/apps).\n",{"id":78},"multicloud-deployments-using-git-ops-and-git-lab",{"type":70,"componentName":70,"componentContent":80},{"header":45,"text":81,"config":82},"Há quatro aplicações para essa demonstração: my-asp-net-app1, my-spring-app2, my-ruby-app3, my-python-app4, e três clusters Kubernetes, cada um correspondendo a um ambiente de nuvem diferente: Microsoft Azure (AKS), Amazon (EKS) e Google Cloud (GKE).\n\nClicar no botão Kubernetes no canto esquerdo revela que todos os clusters estão registrados no GitLab. Os escopos ambientais representam qual aplicação é implantada em cada nuvem.\n",{"id":83},"inside-the-applications-folder",{"type":70,"componentName":70,"componentContent":85},{"header":49,"text":86,"config":87},"### AutoDevOps em ação\n\n[O primeiro exemplo](https://gitlab.com/gitops-demo/apps/my-asp-net-app1) é uma aplicação ASP.NET, equivalente a um aplicativo \"Hello, World\". Existem algumas modificações específicas de como essa aplicação é implantada, que estão no [arquivo CI da aplicação](https://gitlab.com/gitops-demo/apps/my-asp-net-app1/blob/master/.gitlab-ci.yml).\n\nA primeira etapa é importar o modelo principal do Auto DevOps configurando algumas variáveis. Depois, é importante substituir alguns comandos para as etapas que são mais aplicáveis ao código .NET e, finalmente, configurar o ambiente automaticamente para implantar a produção no AKS.\n\n```yaml\ninclude:\n  - template: Auto-DevOps.gitlab-ci.yml\n\nvariables:\n  DEPENDENCY_SCANNING_DISABLED: \"true\"\n\ntest:\n  stage: test\n  image: microsoft/dotnet:latest\n  script:\n    - 'dotnet test --no-restore'\n\nlicense_management:\n  stage: test\n  before_script:\n    - sudo apt-get update\n    - sudo apt-get install -y dotnet-runtime-2.2 dotnet-sdk-2.2\n\nproduction:\n  environment:\n    name: aks/production\n    url: http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN\n```\n{: .language-yaml}\n\nO pipeline será executado automaticamente e implantado corretamente. Ao visualizar [o pipeline](https://gitlab.com/gitops-demo/apps/my-asp-net-app1/pipelines/88314435), é possível conferir como a implantação funciona.\nAs etapas do pipeline abrangem da criação até a produção da aplicação ASP.NET.\n{: .note.text-center}\n\nUma conferida rápida dentro do pipeline mostra que todos os jobs foram concluídos corretamente. O Auto DevOps iniciou a etapa de criação, que cria um contêiner [Docker](/blog/docker-hub-rate-limit-monitoring/){data-ga-name=\"docker\" data-ga-location=\"body\"} e o carrega no registro Docker integrado. A fase de teste é abrangente e inclui [análise de contêineres](/blog/container-security-in-gitlab/){data-ga-name=\"container scanning\" data-ga-location=\"body\"}, gerenciamento de licenças, SAST e testes unitários. Para explorar mais a fundo os resultados dos testes, clique nas guias de segurança e licença. A aplicação é implantada em produção na etapa final do pipeline.\n\n### Dentro do cluster AKS\n\nA aplicação ASP.NET está sendo implantada no cluster AKS. Acesse Operações > Ambientes para visualizar o ambiente configurado para esta aplicação. Métricas como taxas de erro HTTP, latência e taxa de transferência estão disponíveis, pois o [Prometheus](/blog/anomaly-detection-using-prometheus/){data-ga-name=\"prometheus\" data-ga-location=\"body\"} já está integrado aos clusters Kubernetes do GitLab.\n\nO ambiente pode ser lançado diretamente ao clicar no URL ativo para ver a aplicação rodando no AKS. Não há muito código adicional além do que já está configurado no GitLab para instruir como a aplicação deve ser implantada. O recurso Auto DevOps cria um gráfico Helm e o implanta no Kubernetes e no AKS.\n",{"id":88},"aspnet-application-on-aks",{"type":70,"componentName":70,"componentContent":90},{"header":53,"text":91,"config":92},"Na demonstração, você aprenderá a configurar a [aplicação Spring](https://gitlab.com/gitops-demo/apps/my-spring-app2) de maneira semelhante à aplicação ASP.NET, usando um Dockerfile. O [Dockerfile](https://gitlab.com/gitops-demo/apps/my-spring-app2/blob/master/Dockerfile) é inserido no diretório raiz do repositório.\n\n```docker\nROM maven:3-jdk-8-alpine\nWORKDIR /usr/src/app\nCOPY . /usr/src/app\nRUN mvn package\nENV PORT 5000\nEXPOSE $PORT\nCMD [ \"sh\", \"-c\", \"mvn -Dserver.port=${PORT} spring-boot:run\" ]\n```\n\nA implantação da aplicação Spring difere da aplicação ASP.NET de uma maneira: não precisa de nenhuma substituição no modelo do Auto DevOps, pois usa o modelo padrão, implantando no GKE em vez do AKS. O fluxo de trabalho para implantação de aplicações é idêntico, independentemente de em qual nuvem a aplicação está sendo implantada. Isso facilita o uso de [multicloud](/blog/gitlab-ci-cd-is-for-multi-cloud/){data-ga-name=\"multicloud\" data-ga-location=\"body\"}.\n\nÉ importante produzir uma criação, teste e execução de produção semelhantes neste ambiente. Ao executar essa etapa, as equipes podem obter as mesmas métricas, como taxas de erro, latências e produtividade. Nesse caso, a aplicação está rodando automaticamente em um contêiner no Kubernetes no cluster GKE.\n",{"id":93},"java-spring-application-on-gke",{"type":70,"componentName":70,"componentContent":95},{"header":57,"text":96,"config":97},"O exemplo final é uma [aplicação Python](https://gitlab.com/gitops-demo/apps/my-python-app4) que é implantada no EKS. Os componentes são semelhantes aos exemplos anteriores e usam o [gitlab-ci.yml para mudar o ambiente de produção para o EKS](https://gitlab.com/gitops-demo/apps/my-python-app4/blob/master/.gitlab-ci.yml), além de um Dockerfile para preparar o Helm Chart. Há também algumas substituições.\n\n```yaml\ninclude:\n  - template: Auto-DevOps.gitlab-ci.yml\ntest:\n  image: python:3.7\n  script:\n    - pip install -r requirements.txt\n    - pip install pylint\n    - pylint main.py\nproduction:\n  environment:\n    name: eks/production\n    url: http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN\n```\n\nO arquivo de CI do GitLab informa à aplicação que ela deve ser implantada no EKS.\n{: .note.text-center}\n\n```docker\nFROM python:3.7\nWORKDIR /app\nADD . /app/\nRUN pip install -r requirements.txt\nEXPOSE 5000\nCMD [\"python\", \"/app/main.py\"\n```\n\nO [Dockerfile](https://gitlab.com/gitops-demo/apps/my-python-app4/blob/master/Dockerfile) prepara o Helm Chart.\n{: .note.text-center}\n\nAssim como nos exemplos anteriores, o [pipeline](https://gitlab.com/gitops-demo/apps/my-python-app4/pipelines/88314654) é executado da mesma forma que nas outras aplicações, com as fases de criação, teste e produção. Quando a aplicação for implantada no EKS, você poderá abrir o link ativo e acessar a aplicação Python na janela do seu navegador.\n\nO GitLab é uma solução verdadeira de multicloud que permite que as empresas tomem decisões sobre qual provedor de nuvem desejam usar, sem fluxos de trabalho diferentes, mantendo boas práticas de GitOps. Tudo isso com uma interface uniforme e o mesmo fluxo de trabalho, facilitando a implantação em qualquer grande nuvem que execute Kubernetes integrado ao GitLab.\n",{"id":98},"python-application-on-eks",{"type":70,"componentName":70,"componentContent":100},{"header":61,"text":101,"config":102},"Uma boa prática de GitOps envolve fazer de um repositório Git a fonte única de verdade para todo o código. Embora qualquer repositório Git possa servir para uma boa prática de GitOps, há poucas ferramentas de DevOps que realmente abrangem os pilares fundamentais do GitOps: colaboração, transparência no processo e [controle de versão](/blog/migrating-your-version-control-to-git/){data-ga-name=\"version control\" data-ga-location=\"body\"}.\n\nFerramentas como [épicos](/blog/epics-three-features-accelerate-your-workflow/){data-ga-name=\"epics\" data-ga-location=\"body\"}, tíquetes e [solicitações de merge](/blog/merge-trains-explained/){data-ga-name=\"merge requests\" data-ga-location=\"body\"}, que são fundamentais no GitLab, promovem comunicação e transparência entre equipes. As equipes de infraestrutura podem criar código usando os [modelos do Ansible](/blog/using-ansible-and-gitlab-as-infrastructure-for-code/){data-ga-name=\"ansible\" data-ga-location=\"body\"} ou Terraform no GitLab e implantar na nuvem usando a CI do GitLab. O GitLab é a verdadeira solução multicloud, permitindo que as equipes implantem uma aplicação em qualquer serviço de nuvem usando a CI do GitLab e o Kubernetes sem ter que aumentar significativamente seus fluxos de trabalho.\n",{"id":103},"git-lab-for-git-ops",{"type":70,"componentName":70,"componentContent":105},{"header":65,"text":106,"config":107},"* [O que é GitOps](/topics/gitops/){data-ga-name=\"gitops\" data-ga-location=\"body\"}\n* [Saiba como o GitLab fortalece os fluxos de trabalho GitOps](/solutions/gitops/){data-ga-name=\"strengthens gitops workflows\" data-ga-location=\"body\"}\n* [Entenda o futuro do GitOps com líderes do setor](/why/gitops-infrastructure-automation/){data-ga-name=\"future of gitops\" data-ga-location=\"body\"}\n* [Baixe o guia para iniciantes em GitOps](https://page.gitlab.com/resources-ebook-beginner-guide-gitops.html)\n",{"id":108},"ready-to-learn-more-about-git-ops",{"type":110,"componentName":110},"CommonNextSteps","content:pt-br:topics:gitops:gitops-multicloud-deployments-gitlab:index.yml","yaml","content","pt-br/topics/gitops/gitops-multicloud-deployments-gitlab/index.yml","pt-br/topics/gitops/gitops-multicloud-deployments-gitlab/index","yml",{"_path":118,"_dir":119,"_draft":6,"_partial":6,"_locale":7,"data":120,"_id":532,"_type":112,"title":533,"_source":113,"_file":534,"_stem":535,"_extension":116},"/shared/pt-br/main-navigation","pt-br",{"logo":121,"freeTrial":126,"sales":131,"login":136,"items":141,"search":473,"minimal":509,"duo":523},{"config":122},{"href":123,"dataGaName":124,"dataGaLocation":125},"/pt-br/","gitlab logo","header",{"text":127,"config":128},"Faça uma avaliação gratuita",{"href":129,"dataGaName":130,"dataGaLocation":125},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":132,"config":133},"Fale com a equipe de vendas",{"href":134,"dataGaName":135,"dataGaLocation":125},"/pt-br/sales/","sales",{"text":137,"config":138},"Fazer login",{"href":139,"dataGaName":140,"dataGaLocation":125},"https://gitlab.com/users/sign_in/","sign in",[142,186,284,289,394,454],{"text":143,"config":144,"cards":146,"footer":169},"Plataforma",{"dataNavLevelOne":145},"platform",[147,153,161],{"title":143,"description":148,"link":149},"A plataforma DevSecOps mais abrangente com tecnologia de IA",{"text":150,"config":151},"Explore a nossa plataforma",{"href":152,"dataGaName":145,"dataGaLocation":125},"/pt-br/platform/",{"title":154,"description":155,"link":156},"GitLab Duo (IA)","Crie software mais rapidamente com a IA em todas as etapas de desenvolvimento",{"text":157,"config":158},"Conheça o GitLab Duo",{"href":159,"dataGaName":160,"dataGaLocation":125},"/pt-br/gitlab-duo/","gitlab duo ai",{"title":162,"description":163,"link":164},"Por que usar o GitLab","Dez razões pelas quais as empresas escolhem o GitLab",{"text":165,"config":166},"Saiba mais",{"href":167,"dataGaName":168,"dataGaLocation":125},"/pt-br/why-gitlab/","why gitlab",{"title":170,"items":171},"Comece a usar",[172,177,182],{"text":173,"config":174},"Engenharia de plataforma",{"href":175,"dataGaName":176,"dataGaLocation":125},"/pt-br/solutions/platform-engineering/","platform engineering",{"text":178,"config":179},"Experiência do desenvolvedor",{"href":180,"dataGaName":181,"dataGaLocation":125},"/pt-br/developer-experience/","Developer experience",{"text":183,"config":184},"MLOps",{"href":185,"dataGaName":183,"dataGaLocation":125},"/pt-br/topics/devops/the-role-of-ai-in-devops/",{"text":187,"left":12,"config":188,"link":190,"lists":194,"footer":266},"Produtos",{"dataNavLevelOne":189},"solutions",{"text":191,"config":192},"Confira todas as soluções",{"href":193,"dataGaName":189,"dataGaLocation":125},"/pt-br/solutions/",[195,221,244],{"title":196,"description":197,"link":198,"items":203},"Automação","CI/CD e automação para acelerar a implantação",{"config":199},{"icon":200,"href":201,"dataGaName":202,"dataGaLocation":125},"AutomatedCodeAlt","/pt-br/solutions/delivery-automation/","automated software delivery",[204,208,212,217],{"text":205,"config":206},"CI/CD",{"href":207,"dataGaLocation":125,"dataGaName":205},"/pt-br/solutions/continuous-integration/",{"text":209,"config":210},"Desenvolvimento auxiliado por IA",{"href":159,"dataGaLocation":125,"dataGaName":211},"AI assisted development",{"text":213,"config":214},"Gerenciamento de código-fonte",{"href":215,"dataGaLocation":125,"dataGaName":216},"/pt-br/solutions/source-code-management/","Source Code Management",{"text":218,"config":219},"Entrega de software automatizada",{"href":201,"dataGaLocation":125,"dataGaName":220},"Automated software delivery",{"title":222,"description":223,"link":224,"items":229},"Segurança","Acelere a entrega de código sem comprometer a segurança",{"config":225},{"href":226,"dataGaName":227,"dataGaLocation":125,"icon":228},"/pt-br/solutions/security-compliance/","security and compliance","ShieldCheckLight",[230,235,240],{"text":231,"config":232},"Application Security Testing",{"href":233,"dataGaName":234,"dataGaLocation":125},"/solutions/application-security-testing/","Application security testing",{"text":236,"config":237},"Segurança da cadeia de suprimentos de software",{"href":238,"dataGaLocation":125,"dataGaName":239},"/pt-br/solutions/supply-chain/","Software supply chain security",{"text":241,"config":242},"Software Compliance",{"href":243,"dataGaName":241,"dataGaLocation":125},"/solutions/software-compliance/",{"title":245,"link":246,"items":251},"Medição",{"config":247},{"icon":248,"href":249,"dataGaName":250,"dataGaLocation":125},"DigitalTransformation","/pt-br/solutions/visibility-measurement/","visibility and measurement",[252,256,261],{"text":253,"config":254},"Visibilidade e medição",{"href":249,"dataGaLocation":125,"dataGaName":255},"Visibility and Measurement",{"text":257,"config":258},"Gestão de fluxo de valor",{"href":259,"dataGaLocation":125,"dataGaName":260},"/pt-br/solutions/value-stream-management/","Value Stream Management",{"text":262,"config":263},"Análises e insights",{"href":264,"dataGaLocation":125,"dataGaName":265},"/pt-br/solutions/analytics-and-insights/","Analytics and insights",{"title":267,"items":268},"GitLab para",[269,274,279],{"text":270,"config":271},"Grandes empresas",{"href":272,"dataGaLocation":125,"dataGaName":273},"/pt-br/enterprise/","enterprise",{"text":275,"config":276},"Pequenas empresas",{"href":277,"dataGaLocation":125,"dataGaName":278},"/pt-br/small-business/","small business",{"text":280,"config":281},"Setor público",{"href":282,"dataGaLocation":125,"dataGaName":283},"/pt-br/solutions/public-sector/","public sector",{"text":285,"config":286},"Preços",{"href":287,"dataGaName":288,"dataGaLocation":125,"dataNavLevelOne":288},"/pt-br/pricing/","pricing",{"text":290,"config":291,"link":293,"lists":297,"feature":381},"Recursos",{"dataNavLevelOne":292},"resources",{"text":294,"config":295},"Confira todos os recursos",{"href":296,"dataGaName":292,"dataGaLocation":125},"/pt-br/resources/",[298,330,353],{"title":299,"items":300},"Primeiros passos",[301,306,311,315,320,325],{"text":302,"config":303},"Instalação",{"href":304,"dataGaName":305,"dataGaLocation":125},"/pt-br/install/","install",{"text":307,"config":308},"Guias de início rápido",{"href":309,"dataGaName":310,"dataGaLocation":125},"/pt-br/get-started/","quick setup checklists",{"text":165,"config":312},{"href":313,"dataGaLocation":125,"dataGaName":314},"https://university.gitlab.com/","learn",{"text":316,"config":317},"Documentação do produto",{"href":318,"dataGaName":319,"dataGaLocation":125},"https://docs.gitlab.com/","product documentation",{"text":321,"config":322},"Vídeos de melhores práticas",{"href":323,"dataGaName":324,"dataGaLocation":125},"/pt-br/getting-started-videos/","best practice videos",{"text":326,"config":327},"Integrações",{"href":328,"dataGaName":329,"dataGaLocation":125},"/pt-br/integrations/","integrations",{"title":331,"items":332},"Descubra",[333,338,343,348],{"text":334,"config":335},"Histórias de sucesso de clientes",{"href":336,"dataGaName":337,"dataGaLocation":125},"/pt-br/customers/","customer success stories",{"text":339,"config":340},"Blog",{"href":341,"dataGaName":342,"dataGaLocation":125},"/blog/","blog",{"text":344,"config":345},"Trabalho remoto",{"href":346,"dataGaName":347,"dataGaLocation":125},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":349,"config":350},"TeamOps",{"href":351,"dataGaName":352,"dataGaLocation":125},"/pt-br/teamops/","teamops",{"title":354,"items":355},"Conecte-se",[356,361,366,371,376],{"text":357,"config":358},"Serviços do GitLab",{"href":359,"dataGaName":360,"dataGaLocation":125},"/pt-br/services/","services",{"text":362,"config":363},"Comunidade",{"href":364,"dataGaName":365,"dataGaLocation":125},"/community/","community",{"text":367,"config":368},"Fórum",{"href":369,"dataGaName":370,"dataGaLocation":125},"https://forum.gitlab.com/","forum",{"text":372,"config":373},"Eventos",{"href":374,"dataGaName":375,"dataGaLocation":125},"/events/","events",{"text":377,"config":378},"Parceiros",{"href":379,"dataGaName":380,"dataGaLocation":125},"/pt-br/partners/","partners",{"backgroundColor":382,"textColor":383,"text":384,"image":385,"link":389},"#2f2a6b","#fff","Insights para o futuro do desenvolvimento de software",{"altText":386,"config":387},"cartão promocional do The Source",{"src":388},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":390,"config":391},"Confira as novidades",{"href":392,"dataGaName":393,"dataGaLocation":125},"/pt-br/the-source/","the source",{"text":395,"config":396,"lists":398},"Empresa",{"dataNavLevelOne":397},"company",[399],{"items":400},[401,406,412,414,419,424,429,434,439,444,449],{"text":402,"config":403},"Sobre",{"href":404,"dataGaName":405,"dataGaLocation":125},"/pt-br/company/","about",{"text":407,"config":408,"footerGa":411},"Vagas",{"href":409,"dataGaName":410,"dataGaLocation":125},"/jobs/","jobs",{"dataGaName":410},{"text":372,"config":413},{"href":374,"dataGaName":375,"dataGaLocation":125},{"text":415,"config":416},"Liderança",{"href":417,"dataGaName":418,"dataGaLocation":125},"/company/team/e-group/","leadership",{"text":420,"config":421},"Equipe",{"href":422,"dataGaName":423,"dataGaLocation":125},"/company/team/","team",{"text":425,"config":426},"Manual",{"href":427,"dataGaName":428,"dataGaLocation":125},"https://handbook.gitlab.com/","handbook",{"text":430,"config":431},"Relacionamento com investidores",{"href":432,"dataGaName":433,"dataGaLocation":125},"https://ir.gitlab.com/","investor relations",{"text":435,"config":436},"Trust Center",{"href":437,"dataGaName":438,"dataGaLocation":125},"/pt-br/security/","trust center",{"text":440,"config":441},"AI Transparency Center",{"href":442,"dataGaName":443,"dataGaLocation":125},"/pt-br/ai-transparency-center/","ai transparency center",{"text":445,"config":446},"Boletim informativo",{"href":447,"dataGaName":448,"dataGaLocation":125},"/company/contact/","newsletter",{"text":450,"config":451},"Imprensa",{"href":452,"dataGaName":453,"dataGaLocation":125},"/press/","press",{"text":455,"config":456,"lists":457},"Fale com a gente",{"dataNavLevelOne":397},[458],{"items":459},[460,463,468],{"text":132,"config":461},{"href":134,"dataGaName":462,"dataGaLocation":125},"talk to sales",{"text":464,"config":465},"Ajuda",{"href":466,"dataGaName":467,"dataGaLocation":125},"/support/","get help",{"text":469,"config":470},"Portal de clientes",{"href":471,"dataGaName":472,"dataGaLocation":125},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":474,"login":475,"suggestions":482},"Fechar",{"text":476,"link":477},"Para pesquisar repositórios e projetos, faça login em",{"text":478,"config":479},"gitlab.com",{"href":139,"dataGaName":480,"dataGaLocation":481},"search login","search",{"text":483,"default":484},"Sugestões",[485,488,493,495,500,505],{"text":154,"config":486},{"href":159,"dataGaName":487,"dataGaLocation":481},"GitLab Duo (AI)",{"text":489,"config":490},"Sugestões de Código (IA)",{"href":491,"dataGaName":492,"dataGaLocation":481},"/pt-br/solutions/code-suggestions/","Code Suggestions (AI)",{"text":205,"config":494},{"href":207,"dataGaName":205,"dataGaLocation":481},{"text":496,"config":497},"GitLab na AWS",{"href":498,"dataGaName":499,"dataGaLocation":481},"/pt-br/partners/technology-partners/aws/","GitLab on AWS",{"text":501,"config":502},"GitLab no Google Cloud",{"href":503,"dataGaName":504,"dataGaLocation":481},"/pt-br/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":506,"config":507},"Por que escolher o GitLab?",{"href":167,"dataGaName":508,"dataGaLocation":481},"Why GitLab?",{"freeTrial":510,"mobileIcon":515,"desktopIcon":520},{"text":511,"config":512},"Iniciar avaliação gratuita",{"href":513,"dataGaName":130,"dataGaLocation":514},"https://gitlab.com/-/trials/new/","nav",{"altText":516,"config":517},"Ícone do GitLab",{"src":518,"dataGaName":519,"dataGaLocation":514},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":516,"config":521},{"src":522,"dataGaName":519,"dataGaLocation":514},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"freeTrial":524,"mobileIcon":528,"desktopIcon":530},{"text":525,"config":526},"Saiba mais sobre o GitLab Duo",{"href":159,"dataGaName":527,"dataGaLocation":514},"gitlab duo",{"altText":516,"config":529},{"src":518,"dataGaName":519,"dataGaLocation":514},{"altText":516,"config":531},{"src":522,"dataGaName":519,"dataGaLocation":514},"content:shared:pt-br:main-navigation.yml","Main Navigation","shared/pt-br/main-navigation.yml","shared/pt-br/main-navigation",{"_path":537,"_dir":119,"_draft":6,"_partial":6,"_locale":7,"title":538,"button":539,"config":544,"_id":546,"_type":112,"_source":113,"_file":547,"_stem":548,"_extension":116},"/shared/pt-br/banner","A GitLab Duo Agent Platform está agora em beta público!",{"text":540,"config":541},"Experimente o Beta",{"href":542,"dataGaName":543,"dataGaLocation":125},"/pt-br/gitlab-duo/agent-platform/","duo banner",{"layout":545},"release","content:shared:pt-br:banner.yml","shared/pt-br/banner.yml","shared/pt-br/banner",{"_path":550,"_dir":119,"_draft":6,"_partial":6,"_locale":7,"data":551,"_id":751,"_type":112,"title":752,"_source":113,"_file":753,"_stem":754,"_extension":116},"/shared/pt-br/main-footer",{"text":552,"source":553,"edit":559,"contribute":564,"config":569,"items":574,"minimal":743},"Git é uma marca comercial da Software Freedom Conservancy e nosso uso do nome \"GitLab\" está sob licença",{"text":554,"config":555},"Acessar a origem da página",{"href":556,"dataGaName":557,"dataGaLocation":558},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":560,"config":561},"Editar esta página",{"href":562,"dataGaName":563,"dataGaLocation":558},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":565,"config":566},"Contribua",{"href":567,"dataGaName":568,"dataGaLocation":558},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":570,"facebook":571,"youtube":572,"linkedin":573},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[575,598,650,680,714],{"title":143,"links":576,"subMenu":581},[577],{"text":578,"config":579},"Plataforma DevSecOps",{"href":152,"dataGaName":580,"dataGaLocation":558},"devsecops platform",[582],{"title":285,"links":583},[584,588,593],{"text":585,"config":586},"Confira os planos",{"href":287,"dataGaName":587,"dataGaLocation":558},"view plans",{"text":589,"config":590},"Por que escolher o GitLab Premium?",{"href":591,"dataGaName":592,"dataGaLocation":558},"/pt-br/pricing/premium/","why premium",{"text":594,"config":595},"Por que escolher o GitLab Ultimate?",{"href":596,"dataGaName":597,"dataGaLocation":558},"/pt-br/pricing/ultimate/","why ultimate",{"title":599,"links":600},"Soluções",[601,606,609,611,616,621,625,628,631,634,636,638,640,645],{"text":602,"config":603},"Transformação digital",{"href":604,"dataGaName":605,"dataGaLocation":558},"/pt-br/topics/digital-transformation/","digital transformation",{"text":607,"config":608},"Segurança e conformidade",{"href":233,"dataGaName":234,"dataGaLocation":558},{"text":218,"config":610},{"href":201,"dataGaName":202,"dataGaLocation":558},{"text":612,"config":613},"Desenvolvimento ágil",{"href":614,"dataGaName":615,"dataGaLocation":558},"/pt-br/solutions/agile-delivery/","agile delivery",{"text":617,"config":618},"Migração para a nuvem",{"href":619,"dataGaName":620,"dataGaLocation":558},"/pt-br/topics/cloud-native/","cloud transformation",{"text":622,"config":623},"SCM",{"href":215,"dataGaName":624,"dataGaLocation":558},"source code management",{"text":205,"config":626},{"href":207,"dataGaName":627,"dataGaLocation":558},"continuous integration & delivery",{"text":257,"config":629},{"href":259,"dataGaName":630,"dataGaLocation":558},"value stream management",{"text":23,"config":632},{"href":633,"dataGaName":5,"dataGaLocation":558},"/pt-br/solutions/gitops/",{"text":270,"config":635},{"href":272,"dataGaName":273,"dataGaLocation":558},{"text":275,"config":637},{"href":277,"dataGaName":278,"dataGaLocation":558},{"text":280,"config":639},{"href":282,"dataGaName":283,"dataGaLocation":558},{"text":641,"config":642},"Educação",{"href":643,"dataGaName":644,"dataGaLocation":558},"/pt-br/solutions/education/","education",{"text":646,"config":647},"Serviços financeiros",{"href":648,"dataGaName":649,"dataGaLocation":558},"/pt-br/solutions/finance/","financial services",{"title":290,"links":651},[652,654,656,658,661,663,666,668,670,672,674,676,678],{"text":302,"config":653},{"href":304,"dataGaName":305,"dataGaLocation":558},{"text":307,"config":655},{"href":309,"dataGaName":310,"dataGaLocation":558},{"text":165,"config":657},{"href":313,"dataGaName":314,"dataGaLocation":558},{"text":316,"config":659},{"href":318,"dataGaName":660,"dataGaLocation":558},"docs",{"text":339,"config":662},{"href":341,"dataGaName":342,"dataGaLocation":558},{"text":334,"config":664},{"href":665,"dataGaName":337,"dataGaLocation":558},"/customers/",{"text":344,"config":667},{"href":346,"dataGaName":347,"dataGaLocation":558},{"text":357,"config":669},{"href":359,"dataGaName":360,"dataGaLocation":558},{"text":349,"config":671},{"href":351,"dataGaName":352,"dataGaLocation":558},{"text":362,"config":673},{"href":364,"dataGaName":365,"dataGaLocation":558},{"text":367,"config":675},{"href":369,"dataGaName":370,"dataGaLocation":558},{"text":372,"config":677},{"href":374,"dataGaName":375,"dataGaLocation":558},{"text":377,"config":679},{"href":379,"dataGaName":380,"dataGaLocation":558},{"title":395,"links":681},[682,684,686,688,690,692,694,698,703,705,707,709],{"text":402,"config":683},{"href":404,"dataGaName":397,"dataGaLocation":558},{"text":407,"config":685},{"href":409,"dataGaName":410,"dataGaLocation":558},{"text":415,"config":687},{"href":417,"dataGaName":418,"dataGaLocation":558},{"text":420,"config":689},{"href":422,"dataGaName":423,"dataGaLocation":558},{"text":425,"config":691},{"href":427,"dataGaName":428,"dataGaLocation":558},{"text":430,"config":693},{"href":432,"dataGaName":433,"dataGaLocation":558},{"text":695,"config":696},"Sustainability",{"href":697,"dataGaName":695,"dataGaLocation":558},"/sustainability/",{"text":699,"config":700},"Diversidade, inclusão e pertencimento (DIB)",{"href":701,"dataGaName":702,"dataGaLocation":558},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":435,"config":704},{"href":437,"dataGaName":438,"dataGaLocation":558},{"text":445,"config":706},{"href":447,"dataGaName":448,"dataGaLocation":558},{"text":450,"config":708},{"href":452,"dataGaName":453,"dataGaLocation":558},{"text":710,"config":711},"Declaração de Transparência da Lei da Escravidão Moderna",{"href":712,"dataGaName":713,"dataGaLocation":558},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":455,"links":715},[716,719,721,723,728,733,738],{"text":717,"config":718},"Fale com um especialista",{"href":134,"dataGaName":135,"dataGaLocation":558},{"text":464,"config":720},{"href":466,"dataGaName":467,"dataGaLocation":558},{"text":469,"config":722},{"href":471,"dataGaName":472,"dataGaLocation":558},{"text":724,"config":725},"Status",{"href":726,"dataGaName":727,"dataGaLocation":558},"https://status.gitlab.com/","status",{"text":729,"config":730},"Termos de uso",{"href":731,"dataGaName":732,"dataGaLocation":558},"/terms/","terms of use",{"text":734,"config":735},"Aviso de Privacidade",{"href":736,"dataGaName":737,"dataGaLocation":558},"/pt-br/privacy/","privacy statement",{"text":739,"config":740},"Preferências de cookies",{"dataGaName":741,"dataGaLocation":558,"id":742,"isOneTrustButton":12},"cookie preferences","ot-sdk-btn",{"items":744},[745,747,749],{"text":729,"config":746},{"href":731,"dataGaName":732,"dataGaLocation":558},{"text":734,"config":748},{"href":736,"dataGaName":737,"dataGaLocation":558},{"text":739,"config":750},{"dataGaName":741,"dataGaLocation":558,"id":742,"isOneTrustButton":12},"content:shared:pt-br:main-footer.yml","Main Footer","shared/pt-br/main-footer.yml","shared/pt-br/main-footer",{"_path":756,"_dir":119,"_draft":6,"_partial":6,"_locale":7,"header":757,"eyebrow":758,"blurb":759,"button":760,"secondaryButton":764,"_id":766,"_type":112,"title":767,"_source":113,"_file":768,"_stem":769,"_extension":116},"/shared/pt-br/next-steps","Comece a entregar software melhor, mais rapidamente","Mais de 50% das empresas Fortune 100 confiam no GitLab","Descubra o que sua equipe pode fazer com a\n\n\nplataforma DevSecOps inteligente.\n",{"text":127,"config":761},{"href":762,"dataGaName":130,"dataGaLocation":763},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":132,"config":765},{"href":134,"dataGaName":135,"dataGaLocation":763},"content:shared:pt-br:next-steps.yml","Next Steps","shared/pt-br/next-steps.yml","shared/pt-br/next-steps",1758326305458]