[{"data":1,"prerenderedAt":770},["ShallowReactive",2],{"/es/topics/gitops/gitops-multicloud-deployments-gitlab/":3,"navigation-es":117,"banner-es":536,"footer-es":548,"next-steps-es":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},"/es/topics/gitops/gitops-multicloud-deployments-gitlab","gitops",false,"",{"title":9,"description":10,"config":11},"Implementación multinube para GitOps con GitLab: una demostración","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},"/es/topics/gitops/",{"title":27},"GitOps multicloud deployments gitlab",{"type":29,"componentName":29,"componentContent":30},"TopicsHero",{"title":9,"text":31,"config":32},"Cómo la compatibilidad multinube admite los flujos de trabajo de GitOps: Esta demostración muestra cómo implementar aplicaciones en tres servidores Kubernetes con un flujo de trabajo común.\n",{"id":33,"twoColumns":6},"implementación-multinube-para-gitops-con-gitlab:-una-demostración",{"type":35,"componentName":35,"componentContent":36},"CommonSideNavigationWithTree",{"anchors":37,"components":68},{"text":38,"data":39},"Más sobre este tema",[40,44,48,52,56,60,64],{"text":41,"config":42},"Implementaciones multinube con GitOps y GitLab",{"href":43},"#multicloud-deployments-using-git-ops-and-git-lab",{"text":45,"config":46},"Dentro de la carpeta de aplicaciones",{"href":47},"#inside-the-applications-folder",{"text":49,"config":50},"Aplicación ASP.NET en AKS",{"href":51},"#aspnet-application-on-aks",{"text":53,"config":54},"Aplicación Java Spring en GKE",{"href":55},"#java-spring-application-on-gke",{"text":57,"config":58},"Aplicación de Python en 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},"¿Todo listo para obtener más información sobre 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},"Los flujos de trabajo de GitOps utilizan un repositorio de Git como una fuente única de la verdad para permitir la colaboración, reuniendo a los equipos de infraestructura para acelerar el desarrollo y la entrega de software. Cuando los equipos de operaciones usan [flujos de trabajo de GitOps](/topics/gitops/gitops-workflow/){data-ga-name = \"gitops workflows\" data-ga-location =\"body\"}, existen ventajas que van más allá del control de versiones al usar GitLab como repositorio principal. Los equipos utilizan GitLab por su plataforma de colaboración, la facilidad de las implementaciones de infraestructura y la compatibilidad multinube.\n",{"id":7},{"type":70,"componentName":70,"componentContent":75},{"header":41,"text":76,"config":77},"Esta demostración muestra cómo implementar aplicaciones en tres servidores Kubernetes con un flujo de trabajo común. Los equipos aprenderán cómo implementar aplicaciones con éxito a través de Auto DevOps, con tecnología de GitLab CI, con Helm y Kubernetes.\nEl primer paso es abrir el [archivo del grupo gitops-demo README.md](https://gitlab.com/gitops-demo/readme), que muestra la estructura del grupo gitops-demo. Verá algunos proyectos y dos subgrupos: infraestructura y [aplicaciones](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},"Hay cuatro aplicaciones para esta demostración: my-asp-net-app1, my-spring-app2, my-ruby-app3 y my-python-app4. Además, hay tres clústeres de Kubernetes, cada uno de los cuales corresponde a un entorno de nube diferente: Microsoft Azure (AKS), Amazon (EKS) y Google Cloud (GKE).\n\nAl hacer clic en el botón de Kubernetes en la esquina izquierda, se revela que todos los clústeres están registrados en GitLab. Los alcances ambientales representan qué aplicación se implementa en cada nube.\n",{"id":83},"inside-the-applications-folder",{"type":70,"componentName":70,"componentContent":85},{"header":49,"text":86,"config":87},"### AutoDevOps en el trabajo\n\n[El primer ejemplo](https://gitlab.com/gitops-demo/apps/my-asp-net-app1) es una aplicación ASP.NET, que es el equivalente a una aplicación Hello, World. Hay algunas modificaciones que son específicas sobre cómo se implementa esta aplicación, que se encuentra en el [archivo CI de la aplicación](https://gitlab.com/gitops-demo/apps/my-asp-net-app1/blob/master/.gitlab-ci.yml).\n\nEl primer paso es importar la plantilla principal de Auto DevOps configurando un par de variables. Luego, es importante reemplazar algunos comandos para las etapas que son más aplicables al código .net y, por último, configurar el entorno automáticamente para implementar la producción en 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\nEl pipeline se ejecutará automáticamente y se implementará con éxito. Al visualizar [el pipeline](https://gitlab.com/gitops-demo/apps/my-asp-net-app1/pipelines/88314435), es posible ver cómo funciona la implementación.\nLas etapas del pipeline desde la compilación hasta la producción para la aplicación ASP.NET.\n{: .note.text-center}\n\nUn vistazo rápido dentro del pipeline muestra que todos los jobs se aprobaron con éxito. La funcionalidad de Auto DevOps inició la etapa de compilación, que crea un contenedor de [Docker](/blog/docker-hub-rate-limit-monitoring/){data-ga-name=\"docker\"data-ga-location=\"body\"} y lo carga en el registro de Docker incorporado. La fase de prueba es completa e incluye [análisis de contenedores](/blog/container-security-in-gitlab/){data-ga-name=\"container scanning\"data-ga-location=\"body\"}, gestión de licencias, SAST y pruebas unitarias. Para profundizar en los resultados de las pruebas, haga clic en las pestañas de seguridad y licencia. La aplicación se implementa en producción en la etapa final del pipeline.\n\n### Dentro del clúster de AKS\n\nLa aplicación ASP.NET se está implementando en el clúster de AKS. Vaya a Operaciones > Entornos para ver el entorno configurado para esta aplicación. Las métricas como las tasas de errores de HTTP, las tasas de latencia y el rendimiento están disponibles, porque [Prometheus](/blog/anomaly-detection-using-prometheus/){data-ga-name=\"prometheus\" data-ga-location=\"body\"} ya está integrado en los clústeres de Kubernetes de GitLab.\n\nEl entorno se puede iniciar directamente mediante un clic en la URL en vivo para ver la aplicación ejecutándose en AKS. No hay mucho código adicional más allá del que ya se configuró en GitLab que le diga a la aplicación cómo implementar. La funcionalidad de Auto DevOps crea un gráfico Helm y lo implementa en Kubernetes y AKS.\n",{"id":88},"aspnet-application-on-aks",{"type":70,"componentName":70,"componentContent":90},{"header":53,"text":91,"config":92},"En la demostración, aprenderá cómo configurar la [aplicación Spring](https://gitlab.com/gitops-demo/apps/my-spring-app2) de manera similar a la aplicación ASP.NET mediante un Dockerfile. El [Dockerfile](https://gitlab.com/gitops-demo/apps/my-spring-app2/blob/master/Dockerfile) se coloca en el directorio raíz del repositorio.\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= spring-boot:${PORT} run\" ]\n```\n\nLa implementación de la aplicación Spring tiene una diferencia con respecto a la aplicación ASP.NET: no necesita ninguna anulación de la plantilla de AutoDevOps, ya que utiliza la plantilla predeterminada, y se implementa en GKE en lugar de AKS. El flujo de trabajo para la implementación de la aplicación es idéntico independientemente de la nube en la que se implemente la aplicación. Esto hace que la [multinube](/blog/gitlab-ci-cd-is-for-multi-cloud/){data-ga-name=\"multicloud\" data-ga-location=\"body\"} sea fácil.\n\nEs importante producir una compilación, prueba y producción similares en este entorno. Al dar este paso, los equipos pueden obtener las mismas métricas, tasas de error, latencias y rendimientos. En este caso, la aplicación se ejecuta automáticamente en un contenedor en Kubernetes en el clúster de GKE.\n",{"id":93},"java-spring-application-on-gke",{"type":70,"componentName":70,"componentContent":95},{"header":57,"text":96,"config":97},"El último ejemplo es una [aplicación de Python](https://gitlab.com/gitops-demo/apps/my-python-app4) que se implementa en EKS. Los componentes son similares a los ejemplos anteriores y usan [gitlab-ci.yml para cambiar el entorno de producción a EKS](https://gitlab.com/gitops-demo/apps/my-python-app4/blob/master/.gitlab-ci.yml), así como un Dockerfile para preparar el gráfico Helm. También hay algunas anulaciones.\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\nEl archivo de CI de GitLab le indica a la aplicación que se implemente en 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\nEl [Dockerfile](https://gitlab.com/gitops-demo/apps/my-python-app4/blob/master/Dockerfile) prepara el gráfico Helm.\n{: .note.text-center}\n\nAl igual que en los ejemplos anteriores, el [pipeline](https://gitlab.com/gitops-demo/apps/my-python-app4/pipelines/88314654) funciona de la misma manera que en las otras aplicaciones con fases de compilación, prueba y producción. Una vez que la aplicación se implemente en EKS, puede abrir el enlace activo y ver la aplicación de Python en la ventana de su navegador.\n\nGitLab es una verdadera solución multinube que permite a las empresas tomar decisiones sobre qué proveedor de nube desean usar, sin tener flujos de trabajo dispares ni abandonar las prácticas recomendadas de GitOps. Se trata de una interfaz coherente con el mismo flujo de trabajo, lo que facilita las implementaciones en cualquier nube principal con Kubernetes integrado con GitLab.\n",{"id":98},"python-application-on-eks",{"type":70,"componentName":70,"componentContent":100},{"header":61,"text":101,"config":102},"Una práctica recomendada de GitOps es hacer de un repositorio de Git la fuente única de la verdad para todo el código. Si bien cualquier repositorio de Git podría ser suficiente para tener un buen procedimiento de GitOps, hay pocas herramientas de DevOps que abarcan de verdad los pilares centrales de GitOps: colaboración, transparencia en el proceso y [control de versiones](/blog/migrating-your-version-control-to-git/){data-ga-name =\"version control\"data-ga-location =\"body\"}.\n\nLas herramientas como [épicas](/blog/epics-three-features-accelerate-your-workflow/){data-ga-name =\"epics\" data-ga-location =\"body\"}, tickets y [solicitudes de fusión](/blog/merge-trains-explained/){data-ga-name =\"merge requests\" data-ga-location = \"body\"}, que son el quid de GitLab, fomentan la comunicación y transparencia entre los equipos. Los equipos de infraestructura pueden crear código utilizando Terraform o [plantillas de Ansible](/blog/using-ansible-and-gitlab-as-infrastructure-for-code/){data-ga-name = \"ansible\" data-ga-location = \"body\"} en GitLab e implementarlo en la nube utilizando la CI de GitLab. GitLab es la verdadera solución multinube que permite a los equipos implementar una aplicación en cualquier servicio en la nube mediante la CI de GitLab y Kubernetes sin tener que aumentar significativamente sus flujos de trabajo.\n",{"id":103},"git-lab-for-git-ops",{"type":70,"componentName":70,"componentContent":105},{"header":65,"text":106,"config":107},"* [Qué es GitOps](/topics/gitops/){data-ga-name=\"gitops\" data-ga-location=\"body\"}\n* [Descubra cómo GitLab fortalece los flujos de trabajo de GitOps](/solutions/gitops/){data-ga-name =\"strengthens gitops workflows\"data-ga-location =\"body\"}\n* [Comprenda el futuro de GitOps de la mano de los líderes de la industria](/why/gitops-infrastructure-automation/){data-ga-name =\"future of gitops\"data-ga-location =\"body\"}\n* [Descargue la guía para principiantes de 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:es:topics:gitops:gitops-multicloud-deployments-gitlab:index.yml","yaml","content","es/topics/gitops/gitops-multicloud-deployments-gitlab/index.yml","es/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/es/main-navigation","es",{"logo":121,"freeTrial":126,"sales":131,"login":136,"items":141,"search":474,"minimal":509,"duo":523},{"config":122},{"href":123,"dataGaName":124,"dataGaLocation":125},"/es/","gitlab logo","header",{"text":127,"config":128},"Obtener una prueba 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},"Hablar con ventas",{"href":134,"dataGaName":135,"dataGaLocation":125},"/es/sales/","sales",{"text":137,"config":138},"Iniciar sesión",{"href":139,"dataGaName":140,"dataGaLocation":125},"https://gitlab.com/users/sign_in/","sign in",[142,186,284,289,395,455],{"text":143,"config":144,"cards":146,"footer":169},"Plataforma",{"dataNavLevelOne":145},"platform",[147,153,161],{"title":143,"description":148,"link":149},"La plataforma de DevSecOps con tecnología de IA más completa",{"text":150,"config":151},"Explore nuestra plataforma",{"href":152,"dataGaName":145,"dataGaLocation":125},"/es/platform/",{"title":154,"description":155,"link":156},"GitLab Duo (IA)","Cree un software más rápido con IA en cada etapa de desarrollo",{"text":157,"config":158},"Presentamos GitLab Duo",{"href":159,"dataGaName":160,"dataGaLocation":125},"/es/gitlab-duo/","gitlab duo ai",{"title":162,"description":163,"link":164},"¿Por qué elegir GitLab?","10 razones por las que las empresas eligen GitLab",{"text":165,"config":166},"Más información",{"href":167,"dataGaName":168,"dataGaLocation":125},"/es/why-gitlab/","why gitlab",{"title":170,"items":171},"Comenzar con",[172,177,182],{"text":173,"config":174},"Ingeniería de plataformas",{"href":175,"dataGaName":176,"dataGaLocation":125},"/es/solutions/platform-engineering/","platform engineering",{"text":178,"config":179},"Experiencia de desarrollador",{"href":180,"dataGaName":181,"dataGaLocation":125},"/es/developer-experience/","Developer experience",{"text":183,"config":184},"MLOps",{"href":185,"dataGaName":183,"dataGaLocation":125},"/es/topics/devops/the-role-of-ai-in-devops/",{"text":187,"left":12,"config":188,"link":190,"lists":194,"footer":266},"Producto",{"dataNavLevelOne":189},"solutions",{"text":191,"config":192},"Ver todas las soluciones",{"href":193,"dataGaName":189,"dataGaLocation":125},"/es/solutions/",[195,221,244],{"title":196,"description":197,"link":198,"items":203},"Automatización","CI/CD y automatización para acelerar la implementación",{"config":199},{"icon":200,"href":201,"dataGaName":202,"dataGaLocation":125},"AutomatedCodeAlt","/es/solutions/delivery-automation/","automated software delivery",[204,208,212,217],{"text":205,"config":206},"CI/CD",{"href":207,"dataGaLocation":125,"dataGaName":205},"/es/solutions/continuous-integration/",{"text":209,"config":210},"Desarrollo asistido por IA",{"href":159,"dataGaLocation":125,"dataGaName":211},"AI assisted development",{"text":213,"config":214},"Gestión del código fuente",{"href":215,"dataGaLocation":125,"dataGaName":216},"/es/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},"Seguridad","Entregue código más rápido sin comprometer la seguridad",{"config":225},{"href":226,"dataGaName":227,"dataGaLocation":125,"icon":228},"/es/solutions/security-compliance/","security and compliance","ShieldCheckLight",[230,234,239],{"text":231,"config":232},"Seguridad y cumplimiento",{"href":226,"dataGaLocation":125,"dataGaName":233},"Security & Compliance",{"text":235,"config":236},"Seguridad en la cadena de suministro de software",{"href":237,"dataGaLocation":125,"dataGaName":238},"/es/solutions/supply-chain/","Software supply chain security",{"text":240,"config":241},"Cumplimiento y gobernanza",{"href":242,"dataGaLocation":125,"dataGaName":243},"/es/solutions/continuous-software-compliance/","Compliance and governance",{"title":245,"link":246,"items":251},"Medición",{"config":247},{"icon":248,"href":249,"dataGaName":250,"dataGaLocation":125},"DigitalTransformation","/es/solutions/visibility-measurement/","visibility and measurement",[252,256,261],{"text":253,"config":254},"Visibilidad y medición",{"href":249,"dataGaLocation":125,"dataGaName":255},"Visibility and Measurement",{"text":257,"config":258},"Gestión del flujo de valor",{"href":259,"dataGaLocation":125,"dataGaName":260},"/es/solutions/value-stream-management/","Value Stream Management",{"text":262,"config":263},"Análisis e información",{"href":264,"dataGaLocation":125,"dataGaName":265},"/es/solutions/analytics-and-insights/","Analytics and insights",{"title":267,"items":268},"GitLab para",[269,274,279],{"text":270,"config":271},"Empresas",{"href":272,"dataGaLocation":125,"dataGaName":273},"/es/enterprise/","enterprise",{"text":275,"config":276},"Pequeñas empresas",{"href":277,"dataGaLocation":125,"dataGaName":278},"/es/small-business/","small business",{"text":280,"config":281},"Sector público",{"href":282,"dataGaLocation":125,"dataGaName":283},"/es/solutions/public-sector/","public sector",{"text":285,"config":286},"Precios",{"href":287,"dataGaName":288,"dataGaLocation":125,"dataNavLevelOne":288},"/es/pricing/","pricing",{"text":290,"config":291,"link":293,"lists":297,"feature":382},"Recursos",{"dataNavLevelOne":292},"resources",{"text":294,"config":295},"Ver todos los recursos",{"href":296,"dataGaName":292,"dataGaLocation":125},"/es/resources/",[298,331,354],{"title":299,"items":300},"Empezar",[301,306,311,316,321,326],{"text":302,"config":303},"Instalar",{"href":304,"dataGaName":305,"dataGaLocation":125},"/es/install/","install",{"text":307,"config":308},"Guías de inicio rápido",{"href":309,"dataGaName":310,"dataGaLocation":125},"/es/get-started/","quick setup checklists",{"text":312,"config":313},"Aprender",{"href":314,"dataGaLocation":125,"dataGaName":315},"https://university.gitlab.com/","learn",{"text":317,"config":318},"Documentación del producto",{"href":319,"dataGaName":320,"dataGaLocation":125},"https://docs.gitlab.com/","product documentation",{"text":322,"config":323},"Videos de prácticas recomendadas",{"href":324,"dataGaName":325,"dataGaLocation":125},"/es/getting-started-videos/","best practice videos",{"text":327,"config":328},"Integraciones",{"href":329,"dataGaName":330,"dataGaLocation":125},"/es/integrations/","integrations",{"title":332,"items":333},"Descubrir",[334,339,344,349],{"text":335,"config":336},"Historias de éxito del cliente",{"href":337,"dataGaName":338,"dataGaLocation":125},"/es/customers/","customer success stories",{"text":340,"config":341},"Blog",{"href":342,"dataGaName":343,"dataGaLocation":125},"/blog/","blog",{"text":345,"config":346},"Remoto",{"href":347,"dataGaName":348,"dataGaLocation":125},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":350,"config":351},"TeamOps",{"href":352,"dataGaName":353,"dataGaLocation":125},"/es/teamops/","teamops",{"title":355,"items":356},"Conectar",[357,362,367,372,377],{"text":358,"config":359},"Servicios de GitLab",{"href":360,"dataGaName":361,"dataGaLocation":125},"/es/services/","services",{"text":363,"config":364},"Comunidad",{"href":365,"dataGaName":366,"dataGaLocation":125},"/community/","community",{"text":368,"config":369},"Foro",{"href":370,"dataGaName":371,"dataGaLocation":125},"https://forum.gitlab.com/","forum",{"text":373,"config":374},"Eventos",{"href":375,"dataGaName":376,"dataGaLocation":125},"/events/","events",{"text":378,"config":379},"Socios",{"href":380,"dataGaName":381,"dataGaLocation":125},"/es/partners/","partners",{"backgroundColor":383,"textColor":384,"text":385,"image":386,"link":390},"#2f2a6b","#fff","Información sobre el futuro del desarrollo de software",{"altText":387,"config":388},"Tarjeta promocional The Source",{"src":389},"/images/navigation/the-source-promo-card.svg",{"text":391,"config":392},"Leer las últimas noticias",{"href":393,"dataGaName":394,"dataGaLocation":125},"/es/the-source/","the source",{"text":396,"config":397,"lists":399},"Empresa",{"dataNavLevelOne":398},"company",[400],{"items":401},[402,407,413,415,420,425,430,435,440,445,450],{"text":403,"config":404},"Acerca de nosotros",{"href":405,"dataGaName":406,"dataGaLocation":125},"/es/company/","about",{"text":408,"config":409,"footerGa":412},"Empleos",{"href":410,"dataGaName":411,"dataGaLocation":125},"/jobs/","jobs",{"dataGaName":411},{"text":373,"config":414},{"href":375,"dataGaName":376,"dataGaLocation":125},{"text":416,"config":417},"Equipo directivo",{"href":418,"dataGaName":419,"dataGaLocation":125},"/company/team/e-group/","leadership",{"text":421,"config":422},"Equipo",{"href":423,"dataGaName":424,"dataGaLocation":125},"/company/team/","team",{"text":426,"config":427},"Manual",{"href":428,"dataGaName":429,"dataGaLocation":125},"https://handbook.gitlab.com/","handbook",{"text":431,"config":432},"Relaciones con los inversores",{"href":433,"dataGaName":434,"dataGaLocation":125},"https://ir.gitlab.com/","investor relations",{"text":436,"config":437},"Centro de confianza",{"href":438,"dataGaName":439,"dataGaLocation":125},"/es/security/","trust center",{"text":441,"config":442},"AI Transparency Center",{"href":443,"dataGaName":444,"dataGaLocation":125},"/es/ai-transparency-center/","ai transparency center",{"text":446,"config":447},"Boletín",{"href":448,"dataGaName":449,"dataGaLocation":125},"/company/contact/","newsletter",{"text":451,"config":452},"Prensa",{"href":453,"dataGaName":454,"dataGaLocation":125},"/press/","press",{"text":456,"config":457,"lists":458},"Comuníquese con nosotros",{"dataNavLevelOne":398},[459],{"items":460},[461,464,469],{"text":132,"config":462},{"href":134,"dataGaName":463,"dataGaLocation":125},"talk to sales",{"text":465,"config":466},"Obtener ayuda",{"href":467,"dataGaName":468,"dataGaLocation":125},"/support/","get help",{"text":470,"config":471},"Portal de clientes",{"href":472,"dataGaName":473,"dataGaLocation":125},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":475,"login":476,"suggestions":483},"Cerrar",{"text":477,"link":478},"Para buscar repositorios y proyectos, inicie sesión en",{"text":479,"config":480},"gitlab.com",{"href":139,"dataGaName":481,"dataGaLocation":482},"search login","search",{"text":484,"default":485},"Sugerencias",[486,489,494,496,501,506],{"text":154,"config":487},{"href":159,"dataGaName":488,"dataGaLocation":482},"GitLab Duo (AI)",{"text":490,"config":491},"Sugerencias de código (IA)",{"href":492,"dataGaName":493,"dataGaLocation":482},"/es/solutions/code-suggestions/","Code Suggestions (AI)",{"text":205,"config":495},{"href":207,"dataGaName":205,"dataGaLocation":482},{"text":497,"config":498},"GitLab en AWS",{"href":499,"dataGaName":500,"dataGaLocation":482},"/es/partners/technology-partners/aws/","GitLab on AWS",{"text":502,"config":503},"GitLab en Google Cloud",{"href":504,"dataGaName":505,"dataGaLocation":482},"/es/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":162,"config":507},{"href":167,"dataGaName":508,"dataGaLocation":482},"Why GitLab?",{"freeTrial":510,"mobileIcon":515,"desktopIcon":520},{"text":511,"config":512},"Iniciar la prueba gratuita",{"href":513,"dataGaName":130,"dataGaLocation":514},"https://gitlab.com/-/trials/new/","nav",{"altText":516,"config":517},"Ícono de GitLab",{"src":518,"dataGaName":519,"dataGaLocation":514},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":516,"config":521},{"src":522,"dataGaName":519,"dataGaLocation":514},"/images/brand/gitlab-logo-type.svg",{"freeTrial":524,"mobileIcon":528,"desktopIcon":530},{"text":525,"config":526},"Más información sobre 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:es:main-navigation.yml","Main Navigation","shared/es/main-navigation.yml","shared/es/main-navigation",{"_path":537,"_dir":119,"_draft":6,"_partial":6,"_locale":7,"title":538,"titleMobile":538,"button":539,"config":543,"_id":545,"_type":112,"_source":113,"_file":546,"_stem":547,"_extension":116},"/shared/es/banner","¡GitLab Duo Agent Platform ya está en beta pública!",{"text":165,"config":540},{"href":541,"dataGaName":542,"dataGaLocation":125},"/es/gitlab-duo/agent-platform/","duo banner",{"layout":544},"release","content:shared:es:banner.yml","shared/es/banner.yml","shared/es/banner",{"_path":549,"_dir":119,"_draft":6,"_partial":6,"_locale":7,"data":550,"_id":751,"_type":112,"title":752,"_source":113,"_file":753,"_stem":754,"_extension":116},"/shared/es/main-footer",{"text":551,"source":552,"edit":558,"contribute":563,"config":568,"items":573,"minimal":743},"Git es una marca registrada de Software Freedom Conservancy, y nuestro uso de «GitLab» está bajo licencia",{"text":553,"config":554},"Ver fuente de la página",{"href":555,"dataGaName":556,"dataGaLocation":557},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":559,"config":560},"Editar esta página",{"href":561,"dataGaName":562,"dataGaLocation":557},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":564,"config":565},"Contribuya",{"href":566,"dataGaName":567,"dataGaLocation":557},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":569,"facebook":570,"youtube":571,"linkedin":572},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[574,597,648,678,714],{"title":143,"links":575,"subMenu":580},[576],{"text":577,"config":578},"Plataforma de DevSecOps",{"href":152,"dataGaName":579,"dataGaLocation":557},"devsecops platform",[581],{"title":285,"links":582},[583,587,592],{"text":584,"config":585},"Ver planes",{"href":287,"dataGaName":586,"dataGaLocation":557},"view plans",{"text":588,"config":589},"¿Por qué elegir GitLab Premium?",{"href":590,"dataGaName":591,"dataGaLocation":557},"/es/pricing/premium/","why premium",{"text":593,"config":594},"¿Por qué elegir GitLab Ultimate?",{"href":595,"dataGaName":596,"dataGaLocation":557},"/es/pricing/ultimate/","why ultimate",{"title":598,"links":599},"Soluciones",[600,605,608,610,615,620,623,626,629,632,634,636,638,643],{"text":601,"config":602},"Transformación digital",{"href":603,"dataGaName":604,"dataGaLocation":557},"/es/topics/digital-transformation/","digital transformation",{"text":231,"config":606},{"href":226,"dataGaName":607,"dataGaLocation":557},"security & compliance",{"text":218,"config":609},{"href":201,"dataGaName":202,"dataGaLocation":557},{"text":611,"config":612},"Desarrollo ágil",{"href":613,"dataGaName":614,"dataGaLocation":557},"/es/solutions/agile-delivery/","agile delivery",{"text":616,"config":617},"Transformación en la nube",{"href":618,"dataGaName":619,"dataGaLocation":557},"/es/topics/cloud-native/","cloud transformation",{"text":213,"config":621},{"href":215,"dataGaName":622,"dataGaLocation":557},"source code management",{"text":205,"config":624},{"href":207,"dataGaName":625,"dataGaLocation":557},"continuous integration & delivery",{"text":257,"config":627},{"href":259,"dataGaName":628,"dataGaLocation":557},"value stream management",{"text":23,"config":630},{"href":631,"dataGaName":5,"dataGaLocation":557},"/es/solutions/gitops/",{"text":270,"config":633},{"href":272,"dataGaName":273,"dataGaLocation":557},{"text":275,"config":635},{"href":277,"dataGaName":278,"dataGaLocation":557},{"text":280,"config":637},{"href":282,"dataGaName":283,"dataGaLocation":557},{"text":639,"config":640},"Educación",{"href":641,"dataGaName":642,"dataGaLocation":557},"/es/solutions/education/","education",{"text":644,"config":645},"Servicios financieros",{"href":646,"dataGaName":647,"dataGaLocation":557},"/es/solutions/finance/","financial services",{"title":290,"links":649},[650,652,654,656,659,661,664,666,668,670,672,674,676],{"text":302,"config":651},{"href":304,"dataGaName":305,"dataGaLocation":557},{"text":307,"config":653},{"href":309,"dataGaName":310,"dataGaLocation":557},{"text":312,"config":655},{"href":314,"dataGaName":315,"dataGaLocation":557},{"text":317,"config":657},{"href":319,"dataGaName":658,"dataGaLocation":557},"docs",{"text":340,"config":660},{"href":342,"dataGaName":343,"dataGaLocation":557},{"text":335,"config":662},{"href":663,"dataGaName":338,"dataGaLocation":557},"/customers/",{"text":345,"config":665},{"href":347,"dataGaName":348,"dataGaLocation":557},{"text":358,"config":667},{"href":360,"dataGaName":361,"dataGaLocation":557},{"text":350,"config":669},{"href":352,"dataGaName":353,"dataGaLocation":557},{"text":363,"config":671},{"href":365,"dataGaName":366,"dataGaLocation":557},{"text":368,"config":673},{"href":370,"dataGaName":371,"dataGaLocation":557},{"text":373,"config":675},{"href":375,"dataGaName":376,"dataGaLocation":557},{"text":378,"config":677},{"href":380,"dataGaName":381,"dataGaLocation":557},{"title":396,"links":679},[680,682,685,688,690,692,694,698,703,705,707,709],{"text":403,"config":681},{"href":405,"dataGaName":398,"dataGaLocation":557},{"text":683,"config":684},"Jobs",{"href":410,"dataGaName":411,"dataGaLocation":557},{"text":686,"config":687},"Liderazgo",{"href":418,"dataGaName":419,"dataGaLocation":557},{"text":421,"config":689},{"href":423,"dataGaName":424,"dataGaLocation":557},{"text":426,"config":691},{"href":428,"dataGaName":429,"dataGaLocation":557},{"text":431,"config":693},{"href":433,"dataGaName":434,"dataGaLocation":557},{"text":695,"config":696},"Sustainability",{"href":697,"dataGaName":695,"dataGaLocation":557},"/sustainability/",{"text":699,"config":700},"Diversidad, inclusión y pertenencia (DIB)",{"href":701,"dataGaName":702,"dataGaLocation":557},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":436,"config":704},{"href":438,"dataGaName":439,"dataGaLocation":557},{"text":446,"config":706},{"href":448,"dataGaName":449,"dataGaLocation":557},{"text":451,"config":708},{"href":453,"dataGaName":454,"dataGaLocation":557},{"text":710,"config":711},"Declaración de transparencia sobre la Ley de Esclavitud Moderna",{"href":712,"dataGaName":713,"dataGaLocation":557},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":456,"links":715},[716,719,721,723,728,733,738],{"text":717,"config":718},"Contactar con un experto",{"href":134,"dataGaName":135,"dataGaLocation":557},{"text":465,"config":720},{"href":467,"dataGaName":468,"dataGaLocation":557},{"text":470,"config":722},{"href":472,"dataGaName":473,"dataGaLocation":557},{"text":724,"config":725},"Estado",{"href":726,"dataGaName":727,"dataGaLocation":557},"https://status.gitlab.com/","status",{"text":729,"config":730},"Términos de uso",{"href":731,"dataGaName":732,"dataGaLocation":557},"/terms/","terms of use",{"text":734,"config":735},"Declaración de privacidad",{"href":736,"dataGaName":737,"dataGaLocation":557},"/es/privacy/","privacy statement",{"text":739,"config":740},"Preferencias de cookies",{"dataGaName":741,"dataGaLocation":557,"id":742,"isOneTrustButton":12},"cookie preferences","ot-sdk-btn",{"items":744},[745,747,749],{"text":729,"config":746},{"href":731,"dataGaName":732,"dataGaLocation":557},{"text":734,"config":748},{"href":736,"dataGaName":737,"dataGaLocation":557},{"text":739,"config":750},{"dataGaName":741,"dataGaLocation":557,"id":742,"isOneTrustButton":12},"content:shared:es:main-footer.yml","Main Footer","shared/es/main-footer.yml","shared/es/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/es/next-steps","Comience a entregar mejor software más rápido","Más del 50 % de las empresas de Fortune 100 confían en GitLab","Descubra lo que su equipo puede hacer con la plataforma inteligente de\n\n\nDevSecOps.\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:es:next-steps.yml","Next Steps","shared/es/next-steps.yml","shared/es/next-steps",1753981658553]