[{"data":1,"prerenderedAt":769},["ShallowReactive",2],{"/it-it/topics/gitops/gitops-multicloud-deployments-gitlab/":3,"navigation-it-it":115,"banner-it-it":536,"footer-it-it":548,"next-steps-it-it":754},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":11,"_id":109,"_type":110,"title":7,"_source":111,"_file":112,"_stem":113,"_extension":114},"/it-it/topics/gitops/gitops-multicloud-deployments-gitlab","gitops",false,"",{"title":9,"description":10},"Deployment multicloud per GitOps tramite GitLab: demo","GitLab Topics | Multicloud deployment for GitOps using GitLab: A demo",[12,26,32,107],{"type":13,"componentName":13,"componentContent":14},"CommonBreadcrumbs",{"crumbs":15},[16,20,24],{"title":17,"config":18},"Industry topics",{"href":19},"/topics/",{"title":21,"config":22},"GitOps",{"href":23},"/it-it/topics/gitops/",{"title":25},"GitOps multicloud deployments gitlab",{"type":27,"componentName":27,"componentContent":28},"TopicsHero",{"title":9,"text":29,"config":30},"Scopri come la compatibilità multicloud supporta i flussi di lavoro GitOps. Questa demo mostra come eseguire il deployment delle applicazioni su tre server Kubernetes utilizzando un flusso di lavoro comune.\n",{"id":31,"twoColumns":6},"deployment-multicloud-per-gitops-tramite-gitlab:-demo",{"type":33,"componentName":33,"componentContent":34},"CommonSideNavigationWithTree",{"anchors":35,"components":66},{"text":36,"data":37},"Scopri di più sull'argomento",[38,42,46,50,54,58,62],{"text":39,"config":40},"Deployment multicloud tramite GitOps e GitLab",{"href":41},"#multicloud-deployments-using-git-ops-and-git-lab",{"text":43,"config":44},"Contenuto della cartella delle applicazioni",{"href":45},"#inside-the-applications-folder",{"text":47,"config":48},"Applicazione ASP.NET su AKS",{"href":49},"#aspnet-application-on-aks",{"text":51,"config":52},"Applicazione Java Spring su GKE",{"href":53},"#java-spring-application-on-gke",{"text":55,"config":56},"Applicazione Python su EKS",{"href":57},"#python-application-on-eks",{"text":59,"config":60},"GitLab per GitOps",{"href":61},"#git-lab-for-git-ops",{"text":63,"config":64},"Vuoi sapere di più su GitOps?",{"href":65},"#ready-to-learn-more-about-git-ops",[67,72,77,82,87,92,97,102],{"type":68,"componentName":68,"componentContent":69},"TopicsCopy",{"text":70,"config":71},"I flussi di lavoro GitOps utilizzano un repository Git come unica fonte di riferimento per promuovere la collaborazione fra i team dell'infrastruttura e accelerare lo sviluppo e la distribuzione del software. Quando i team delle operazioni utilizzano i [flussi di lavoro GitOps](/topics/gitops/gitops-workflow/){data-ga-name=\"gitops workflows\" data-ga-location=\"body\"}, scegliere GitLab come repository principale comporta vantaggi che vanno ben oltre il controllo della versione. I team si affidano a GitLab per la natura collaborativa della sua piattaforma, per la facilità di deployment dell'infrastruttura e per la compatibilità multicloud.\n",{"id":7},{"type":68,"componentName":68,"componentContent":73},{"header":39,"text":74,"config":75},"Questa demo mostra come eseguire il deployment delle applicazioni su tre server Kubernetes utilizzando un flusso di lavoro comune. I team scopriranno come eseguire con successo il deployment delle applicazioni utilizzando Auto DevOps, una suite di funzionalità basata sulla CI di GitLab, con Helm e Kubernetes.\nPer prima cosa, è necessario aprire il [file README.md del gruppo gitops-demo](https://gitlab.com/gitops-demo/readme), di cui ne mostra la struttura. Oltre ad alcuni progetti, vi sono due sottogruppi: infrastruttura e [applicazioni](https://gitlab.com/gitops-demo/apps).\n",{"id":76},"multicloud-deployments-using-git-ops-and-git-lab",{"type":68,"componentName":68,"componentContent":78},{"header":43,"text":79,"config":80},"In questa demo sono presenti quattro applicazioni (my-asp-net-app1, my-spring-app2, my-ruby-app3, my-python-app4) e tre cluster Kubernetes, ciascuno dei quali corrispondente a un diverso ambiente cloud: Microsoft Azure (AKS), Amazon (EKS) e Google Cloud (GKE).\n\nCliccando sul pulsante Kubernetes nell'angolo sinistro, si può vedere che tutti i cluster sono registrati su GitLab. Gli ambiti ambientali specificano l'applicazione di cui viene eseguito il deployment in ogni cloud.\n",{"id":81},"inside-the-applications-folder",{"type":68,"componentName":68,"componentContent":83},{"header":47,"text":84,"config":85},"### AutoDevOps in funzione\n\n[Il primo esempio](https://gitlab.com/gitops-demo/apps/my-asp-net-app1) è un'applicazione ASP.NET, ovvero l'equivalente di un'app Hello World. Alcune modifiche sono specifiche per il tipo di deployment di questa applicazione e si trovano nel [file di CI dell'applicazione](https://gitlab.com/gitops-demo/apps/my-asp-net-app1/blob/master/.gitlab-ci.yml).\n\nPer prima cosa, è necessario importare il modello Auto DevOps principale impostando un paio di variabili. Quindi, è importante sovrascrivere alcuni comandi per le fasi più pertinenti al codice .NET. Infine, bisogna impostare automaticamente l'ambiente per eseguire il deployment della produzione in 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\nLa pipeline verrà eseguita automaticamente e il deployment avrà esito positivo. Visualizzando [la pipeline](https://gitlab.com/gitops-demo/apps/my-asp-net-app1/pipelines/88314435), è possibile scoprire come funziona il deployment.\nSi possono inoltre consultare le fasi della pipeline, dallo sviluppo alla produzione per l'applicazione ASP.NET.\n{: .note.text-center}\n\nUna rapida occhiata all'interno della pipeline mostra che tutti i job sono stati completati correttamente. La funzionalità Auto DevOps ha avviato la fase di sviluppo, che crea un container [Docker](/blog/docker-hub-rate-limit-monitoring/){data-ga-name=\"docker\" data-ga-location=\"body\"} e lo carica nel registro Docker integrato. La fase di test è completa e include [la scansione dei container](/blog/container-security-in-gitlab/){data-ga-name=\"container scanning\" data-ga-location=\"body\"}, la gestione delle licenze, il SAST e i test unitari. Per approfondire i risultati dei test, clicca sulle schede Sicurezza e Licenza. Il deployment dell'applicazione viene eseguito in produzione nella fase finale della pipeline.\n\n### All'interno del cluster AKS\n\nL'applicazione ASP.NET è in fase di deployment nel cluster AKS. Vai su Operazioni > Ambienti per visualizzare l'ambiente configurato per questa applicazione. Sono disponibili metriche come i tassi di errore HTTP, i tassi di latenza e la portata, in quanto [Prometheus](/blog/anomaly-detection-using-prometheus/){data-ga-name=\"prometheus\" data-ga-location=\"body\"} è già integrato nei cluster Kubernetes di GitLab.\n\nL'ambiente può essere avviato direttamente cliccando sull'URL alla versione live per visualizzare l'applicazione in esecuzione su AKS. Non c'è molto codice aggiuntivo oltre a quello già configurato in GitLab che dice all'applicazione come eseguire il deployment. La funzione Auto DevOps crea un grafico Helm ed esegue il deployment su Kubernetes e AKS.\n",{"id":86},"aspnet-application-on-aks",{"type":68,"componentName":68,"componentContent":88},{"header":51,"text":89,"config":90},"Nella demo, imparerai come configurare l'[applicazione Spring](https://gitlab.com/gitops-demo/apps/my-spring-app2) in modo simile all'applicazione ASP.NET utilizzando un Dockerfile. Il [Dockerfile](https://gitlab.com/gitops-demo/apps/my-spring-app2/blob/master/Dockerfile) viene inserito nella directory principale del repository.\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\nIl deployment dell'applicazione Spring differisce dall'applicazione ASP.NET in un modo: non ha bisogno di override nel modello AutoDevOps, perché utilizza il modello predefinito, eseguendo il deployment su GKE anziché su AKS. Il flusso di lavoro per il deployment delle applicazioni è identico indipendentemente dal cloud su cui viene eseguito il deployment dell'applicazione. Questo rende facile il [multicloud](/blog/gitlab-ci-cd-is-for-multi-cloud/){data-ga-name=\"multicloud\" data-ga-location=\"body\"}.\n\nÈ importante produrre una build, un test e un ciclo di produzione simili in questo ambiente. In questo modo, i team possono ottenere le stesse metriche, i tassi di errore, le latenze e le portate. In questo caso, l'applicazione viene eseguita automaticamente in un container su Kubernetes nel cluster GKE.\n",{"id":91},"java-spring-application-on-gke",{"type":68,"componentName":68,"componentContent":93},{"header":55,"text":94,"config":95},"L'ultimo esempio è un'[applicazione Python](https://gitlab.com/gitops-demo/apps/my-python-app4) che esegue il deployment su EKS. I componenti sono simili agli esempi precedenti e utilizzano [gitlab-ci.yml per modificare l'ambiente di produzione in EKS](https://gitlab.com/gitops-demo/apps/my-python-app4/blob/master/.gitlab-ci.yml) e un Dockerfile per preparare il grafico Helm. Ci sono anche alcuni override.\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\nproduzione:\n  ambiente:\n    nome: eks/produzione\n    url: http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN\n```\n\nIl file CI di GitLab indica all'applicazione di eseguire il deployment su 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 [\"pitone\", \"/app/main.py\"\n```\n\nIl [Dockerfile](https://gitlab.com/gitops-demo/apps/my-python-app4/blob/master/Dockerfile) prepara il grafico Helm.\n{: .note.text-center}\n\nProprio come negli esempi precedenti, la [pipeline](https://gitlab.com/gitops-demo/apps/my-python-app4/pipelines/88314654) funziona allo stesso modo delle altre applicazioni con fasi di compilazione, test e produzione. Una volta eseguito il deployment dell'applicazione su EKS, è possibile aprire il collegamento live e vedere l'applicazione Python nella finestra del browser.\n\nGitLab è una vera soluzione multicloud che consente alle aziende di prendere decisioni sul provider di servizi cloud che desiderano utilizzare, senza flussi di lavoro disparati, pur mantenendo buone pratiche GitOps. Tutto questo è un'interfaccia coerente con lo stesso flusso di lavoro, che semplifica il deployment su qualsiasi cloud principale che esegue Kubernetes integrato con GitLab.\n",{"id":96},"python-application-on-eks",{"type":68,"componentName":68,"componentContent":98},{"header":59,"text":99,"config":100},"Una buona pratica GitOps consiste nel rendere un repository Git l'unica fonte di riferimento per tutto il codice. Sebbene qualsiasi repository Git possa essere sufficiente per una buona procedura GitOps, ci sono pochi strumenti DevOps che racchiudono veramente i pilastri fondamentali di GitOps: collaborazione, trasparenza nel processo e [controllo della versione](/blog/migrating-your-version-control-to-git/){data-ga-name=\"version control\" data-ga-location=\"body\"}.\n\nStrumenti come [epic](/blog/epics-three-features-accelerate-your-workflow/){data-ga-name=\"epics\" data-ga-location=\"body\"}, ticket e [richieste di merge](/blog/merge-trains-explained/){data-ga-name=\"merge requests\" data-ga-location=\"body\"}, che sono il punto cruciale di GitLab, promuovono la comunicazione e la trasparenza tra i team. I team dell'infrastruttura possono creare codice utilizzando template Terraform o [Ansible](/blog/using-ansible-and-gitlab-as-infrastructure-for-code/){data-ga-name=\"ansible\" data-ga-location=\"body\"} in GitLab ed eseguire il deployment nel cloud utilizzando GitLab CI. GitLab è la vera soluzione multicloud, che consente ai team di effettuare il deployment di un'applicazione su qualsiasi servizio cloud utilizzando GitLab CI e Kubernetes senza dover aumentare significativamente i flussi di lavoro.\n",{"id":101},"git-lab-for-git-ops",{"type":68,"componentName":68,"componentContent":103},{"header":63,"text":104,"config":105},"* [Che cos' è GitOps](/topics/gitops/){data-ga-name=\"gitops\" data-ga-location=\"body\"}\n* [Scopri come GitLab ottimizza i flussi di lavoro GitOps](/solutions/gitops/){data-ga-name=\"strengthens gitops workflows\" data-ga-location=\"body\"}\n* [Comprendi il futuro di GitOps grazie ai leader del settore](/why/gitops-infrastructure-automation/){data-ga-name=\"future of gitops\" data-ga-location=\"body\"}\n* [Scarica la guida per neofiti a GitOps](https://page.gitlab.com/resources-ebook-beginner-guide-gitops.html)\n",{"id":106},"ready-to-learn-more-about-git-ops",{"type":108,"componentName":108},"CommonNextSteps","content:it-it:topics:gitops:gitops-multicloud-deployments-gitlab:index.yml","yaml","content","it-it/topics/gitops/gitops-multicloud-deployments-gitlab/index.yml","it-it/topics/gitops/gitops-multicloud-deployments-gitlab/index","yml",{"_path":116,"_dir":117,"_draft":6,"_partial":6,"_locale":7,"data":118,"_id":532,"_type":110,"title":533,"_source":111,"_file":534,"_stem":535,"_extension":114},"/shared/it-it/main-navigation","it-it",{"logo":119,"freeTrial":124,"sales":129,"login":134,"items":139,"search":473,"minimal":509,"duo":523},{"config":120},{"href":121,"dataGaName":122,"dataGaLocation":123},"/it-it/","gitlab logo","header",{"text":125,"config":126},"Ottieni una prova gratuita",{"href":127,"dataGaName":128,"dataGaLocation":123},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":130,"config":131},"Contatta le vendite",{"href":132,"dataGaName":133,"dataGaLocation":123},"/it-it/sales/","sales",{"text":135,"config":136},"Accedi",{"href":137,"dataGaName":138,"dataGaLocation":123},"https://gitlab.com/users/sign_in/","sign in",[140,184,283,288,394,454],{"text":141,"config":142,"cards":144,"footer":167},"Piattaforma",{"dataNavLevelOne":143},"platform",[145,151,159],{"title":141,"description":146,"link":147},"La piattaforma DevSecOps più completa basata sull'IA",{"text":148,"config":149},"Scopri la nostra piattaforma",{"href":150,"dataGaName":143,"dataGaLocation":123},"/it-it/platform/",{"title":152,"description":153,"link":154},"GitLab Duo (IA)","Sviluppa software più velocemente con l'IA in ogni fase del ciclo di sviluppo",{"text":155,"config":156},"Ti presentiamo GitLab Duo",{"href":157,"dataGaName":158,"dataGaLocation":123},"/it-it/gitlab-duo/","gitlab duo ai",{"title":160,"description":161,"link":162},"Perché scegliere GitLab","Dieci motivi per cui le aziende scelgono GitLab",{"text":163,"config":164},"Scopri di più",{"href":165,"dataGaName":166,"dataGaLocation":123},"/it-it/why-gitlab/","why gitlab",{"title":168,"items":169},"Primi passi con",[170,175,180],{"text":171,"config":172},"Platform engineering",{"href":173,"dataGaName":174,"dataGaLocation":123},"/it-it/solutions/platform-engineering/","platform engineering",{"text":176,"config":177},"Esperienza d'uso degli sviluppatori",{"href":178,"dataGaName":179,"dataGaLocation":123},"/it-it/developer-experience/","Developer experience",{"text":181,"config":182},"MLOps",{"href":183,"dataGaName":181,"dataGaLocation":123},"/it-it/topics/devops/the-role-of-ai-in-devops/",{"text":185,"left":186,"config":187,"link":189,"lists":193,"footer":265},"Prodotti",true,{"dataNavLevelOne":188},"solutions",{"text":190,"config":191},"Visualizza tutte le soluzioni",{"href":192,"dataGaName":188,"dataGaLocation":123},"/it-it/solutions/",[194,220,243],{"title":195,"description":196,"link":197,"items":202},"Automazione","CI/CD e automazione per accelerare il deployment",{"config":198},{"icon":199,"href":200,"dataGaName":201,"dataGaLocation":123},"AutomatedCodeAlt","/it-it/solutions/delivery-automation/","automated software delivery",[203,207,211,216],{"text":204,"config":205},"CI/CD",{"href":206,"dataGaLocation":123,"dataGaName":204},"/it-it/solutions/continuous-integration/",{"text":208,"config":209},"Sviluppo assistito dall'IA",{"href":157,"dataGaLocation":123,"dataGaName":210},"AI assisted development",{"text":212,"config":213},"Gestione del codice sorgente",{"href":214,"dataGaLocation":123,"dataGaName":215},"/it-it/solutions/source-code-management/","Source Code Management",{"text":217,"config":218},"Distribuzione software automatizzata",{"href":200,"dataGaLocation":123,"dataGaName":219},"Automated software delivery",{"title":221,"description":222,"link":223,"items":228},"Sicurezza","Distribuisci il codice più velocemente senza compromettere la sicurezza",{"config":224},{"href":225,"dataGaName":226,"dataGaLocation":123,"icon":227},"/it-it/solutions/security-compliance/","security and compliance","ShieldCheckLight",[229,233,238],{"text":230,"config":231},"Sicurezza e conformità",{"href":225,"dataGaLocation":123,"dataGaName":232},"Security & Compliance",{"text":234,"config":235},"Sicurezza della catena di fornitura del software",{"href":236,"dataGaLocation":123,"dataGaName":237},"/it-it/solutions/supply-chain/","Software supply chain security",{"text":239,"config":240},"Conformità e governance",{"href":241,"dataGaLocation":123,"dataGaName":242},"/it-it/solutions/continuous-software-compliance/","Compliance and governance",{"title":244,"link":245,"items":250},"Misurazione",{"config":246},{"icon":247,"href":248,"dataGaName":249,"dataGaLocation":123},"DigitalTransformation","/it-it/solutions/visibility-measurement/","visibility and measurement",[251,255,260],{"text":252,"config":253},"Visibilità e misurazione",{"href":248,"dataGaLocation":123,"dataGaName":254},"Visibility and Measurement",{"text":256,"config":257},"Gestione del flusso di valore",{"href":258,"dataGaLocation":123,"dataGaName":259},"/it-it/solutions/value-stream-management/","Value Stream Management",{"text":261,"config":262},"Analisi e approfondimenti",{"href":263,"dataGaLocation":123,"dataGaName":264},"/it-it/solutions/analytics-and-insights/","Analytics and insights",{"title":266,"items":267},"GitLab per",[268,273,278],{"text":269,"config":270},"Aziende",{"href":271,"dataGaLocation":123,"dataGaName":272},"/it-it/enterprise/","enterprise",{"text":274,"config":275},"Piccole imprese",{"href":276,"dataGaLocation":123,"dataGaName":277},"/it-it/small-business/","small business",{"text":279,"config":280},"Pubblica amministrazione",{"href":281,"dataGaLocation":123,"dataGaName":282},"/it-it/solutions/public-sector/","public sector",{"text":284,"config":285},"Prezzi",{"href":286,"dataGaName":287,"dataGaLocation":123,"dataNavLevelOne":287},"/it-it/pricing/","pricing",{"text":289,"config":290,"link":292,"lists":296,"feature":381},"Risorse",{"dataNavLevelOne":291},"resources",{"text":293,"config":294},"Visualizza tutte le risorse",{"href":295,"dataGaName":291,"dataGaLocation":123},"/it-it/resources/",[297,330,353],{"title":298,"items":299},"Per iniziare",[300,305,310,315,320,325],{"text":301,"config":302},"Installazione",{"href":303,"dataGaName":304,"dataGaLocation":123},"/it-it/install/","install",{"text":306,"config":307},"Guide rapide",{"href":308,"dataGaName":309,"dataGaLocation":123},"/it-it/get-started/","quick setup checklists",{"text":311,"config":312},"Formazione",{"href":313,"dataGaLocation":123,"dataGaName":314},"https://university.gitlab.com/","learn",{"text":316,"config":317},"Documentazione di prodotto",{"href":318,"dataGaName":319,"dataGaLocation":123},"https://docs.gitlab.com/","product documentation",{"text":321,"config":322},"Video sulle best practice",{"href":323,"dataGaName":324,"dataGaLocation":123},"/it-it/getting-started-videos/","best practice videos",{"text":326,"config":327},"Integrazioni",{"href":328,"dataGaName":329,"dataGaLocation":123},"/it-it/integrations/","integrations",{"title":331,"items":332},"Scopri",[333,338,343,348],{"text":334,"config":335},"Storie di successo dei clienti",{"href":336,"dataGaName":337,"dataGaLocation":123},"/it-it/customers/","customer success stories",{"text":339,"config":340},"Blog",{"href":341,"dataGaName":342,"dataGaLocation":123},"/blog/","blog",{"text":344,"config":345},"Lavorare da remoto",{"href":346,"dataGaName":347,"dataGaLocation":123},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":349,"config":350},"TeamOps",{"href":351,"dataGaName":352,"dataGaLocation":123},"/it-it/teamops/","teamops",{"title":354,"items":355},"Connetti",[356,361,366,371,376],{"text":357,"config":358},"Servizi GitLab",{"href":359,"dataGaName":360,"dataGaLocation":123},"/it-it/services/","services",{"text":362,"config":363},"Community",{"href":364,"dataGaName":365,"dataGaLocation":123},"/community/","community",{"text":367,"config":368},"Forum",{"href":369,"dataGaName":370,"dataGaLocation":123},"https://forum.gitlab.com/","forum",{"text":372,"config":373},"Eventi",{"href":374,"dataGaName":375,"dataGaLocation":123},"/events/","events",{"text":377,"config":378},"Partner",{"href":379,"dataGaName":380,"dataGaLocation":123},"/it-it/partners/","partners",{"backgroundColor":382,"textColor":383,"text":384,"image":385,"link":389},"#2f2a6b","#fff","Approfondimenti e informazioni per il futuro dello sviluppo software",{"altText":386,"config":387},"scheda promozionale per The Source",{"src":388},"/images/navigation/the-source-promo-card.svg",{"text":390,"config":391},"Leggi le ultime notizie",{"href":392,"dataGaName":393,"dataGaLocation":123},"/it-it/the-source/","the source",{"text":395,"config":396,"lists":398},"Azienda",{"dataNavLevelOne":397},"company",[399],{"items":400},[401,406,412,414,419,424,429,434,439,444,449],{"text":402,"config":403},"Informazioni",{"href":404,"dataGaName":405,"dataGaLocation":123},"/it-it/company/","about",{"text":407,"config":408,"footerGa":411},"Opportunità di lavoro",{"href":409,"dataGaName":410,"dataGaLocation":123},"/jobs/","jobs",{"dataGaName":410},{"text":372,"config":413},{"href":374,"dataGaName":375,"dataGaLocation":123},{"text":415,"config":416},"Leadership",{"href":417,"dataGaName":418,"dataGaLocation":123},"/company/team/e-group/","leadership",{"text":420,"config":421},"Team",{"href":422,"dataGaName":423,"dataGaLocation":123},"/company/team/","team",{"text":425,"config":426},"Manuale",{"href":427,"dataGaName":428,"dataGaLocation":123},"https://handbook.gitlab.com/","handbook",{"text":430,"config":431},"Rapporti con gli investitori",{"href":432,"dataGaName":433,"dataGaLocation":123},"https://ir.gitlab.com/","investor relations",{"text":435,"config":436},"Trust Center",{"href":437,"dataGaName":438,"dataGaLocation":123},"/it-it/security/","trust center",{"text":440,"config":441},"AI Transparency Center",{"href":442,"dataGaName":443,"dataGaLocation":123},"/it-it/ai-transparency-center/","ai transparency center",{"text":445,"config":446},"Newsletter",{"href":447,"dataGaName":448,"dataGaLocation":123},"/company/contact/","newsletter",{"text":450,"config":451},"Rassegna stampa",{"href":452,"dataGaName":453,"dataGaLocation":123},"/press/","press",{"text":455,"config":456,"lists":457},"Contattaci",{"dataNavLevelOne":397},[458],{"items":459},[460,463,468],{"text":130,"config":461},{"href":132,"dataGaName":462,"dataGaLocation":123},"talk to sales",{"text":464,"config":465},"Richiedi assistenza",{"href":466,"dataGaName":467,"dataGaLocation":123},"/support/","get help",{"text":469,"config":470},"Portale clienti",{"href":471,"dataGaName":472,"dataGaLocation":123},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":474,"login":475,"suggestions":482},"Chiudi",{"text":476,"link":477},"Per cercare repository e progetti, accedi a",{"text":478,"config":479},"gitlab.com",{"href":137,"dataGaName":480,"dataGaLocation":481},"search login","search",{"text":483,"default":484},"Suggerimenti",[485,488,493,495,500,505],{"text":152,"config":486},{"href":157,"dataGaName":487,"dataGaLocation":481},"GitLab Duo (AI)",{"text":489,"config":490},"Suggerimenti di codice (IA)",{"href":491,"dataGaName":492,"dataGaLocation":481},"/it-it/solutions/code-suggestions/","Code Suggestions (AI)",{"text":204,"config":494},{"href":206,"dataGaName":204,"dataGaLocation":481},{"text":496,"config":497},"GitLab su AWS",{"href":498,"dataGaName":499,"dataGaLocation":481},"/it-it/partners/technology-partners/aws/","GitLab on AWS",{"text":501,"config":502},"GitLab su Google Cloud",{"href":503,"dataGaName":504,"dataGaLocation":481},"/it-it/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":506,"config":507},"Perché scegliere GitLab?",{"href":165,"dataGaName":508,"dataGaLocation":481},"Why GitLab?",{"freeTrial":510,"mobileIcon":515,"desktopIcon":520},{"text":511,"config":512},"Inizia la prova gratuita",{"href":513,"dataGaName":128,"dataGaLocation":514},"https://gitlab.com/-/trials/new/","nav",{"altText":516,"config":517},"Icona di 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},"Scopri di più su GitLab Duo",{"href":157,"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:it-it:main-navigation.yml","Main Navigation","shared/it-it/main-navigation.yml","shared/it-it/main-navigation",{"_path":537,"_dir":117,"_draft":6,"_partial":6,"_locale":7,"title":538,"button":539,"config":543,"_id":545,"_type":110,"_source":111,"_file":546,"_stem":547,"_extension":114},"/shared/it-it/banner","GitLab Duo Agent Platform è ora disponibile in versione beta pubblica.",{"text":163,"config":540},{"href":541,"dataGaName":542,"dataGaLocation":123},"/gitlab-duo/agent-platform/","duo banner",{"layout":544},"release","content:shared:it-it:banner.yml","shared/it-it/banner.yml","shared/it-it/banner",{"_path":549,"_dir":117,"_draft":6,"_partial":6,"_locale":7,"data":550,"_id":750,"_type":110,"title":751,"_source":111,"_file":752,"_stem":753,"_extension":114},"/shared/it-it/main-footer",{"text":551,"source":552,"edit":558,"contribute":563,"config":568,"items":573,"minimal":742},"Git è un marchio di Software Freedom Conservancy e l'uso del termine \"GitLab\" è regolato da un accordo di licenza",{"text":553,"config":554},"Visualizza origine pagina",{"href":555,"dataGaName":556,"dataGaLocation":557},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":559,"config":560},"Modifica questa pagina",{"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},"Contribuisci",{"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,649,679,713],{"title":141,"links":575,"subMenu":580},[576],{"text":577,"config":578},"Piattaforma DevSecOps",{"href":150,"dataGaName":579,"dataGaLocation":557},"devsecops platform",[581],{"title":284,"links":582},[583,587,592],{"text":584,"config":585},"Visualizza i piani",{"href":286,"dataGaName":586,"dataGaLocation":557},"view plans",{"text":588,"config":589},"Perché passare a Premium?",{"href":590,"dataGaName":591,"dataGaLocation":557},"/it-it/pricing/premium/","why premium",{"text":593,"config":594},"Perché passare a Ultimate?",{"href":595,"dataGaName":596,"dataGaLocation":557},"/it-it/pricing/ultimate/","why ultimate",{"title":598,"links":599},"Soluzioni",[600,605,608,610,615,620,624,627,630,633,635,637,639,644],{"text":601,"config":602},"Trasformazione digitale",{"href":603,"dataGaName":604,"dataGaLocation":557},"/it-it/topics/digital-transformation/","digital transformation",{"text":230,"config":606},{"href":225,"dataGaName":607,"dataGaLocation":557},"security & compliance",{"text":217,"config":609},{"href":200,"dataGaName":201,"dataGaLocation":557},{"text":611,"config":612},"Sviluppo Agile",{"href":613,"dataGaName":614,"dataGaLocation":557},"/it-it/solutions/agile-delivery/","agile delivery",{"text":616,"config":617},"Trasformazione cloud",{"href":618,"dataGaName":619,"dataGaLocation":557},"/it-it/topics/cloud-native/","cloud transformation",{"text":621,"config":622},"SCM",{"href":214,"dataGaName":623,"dataGaLocation":557},"source code management",{"text":204,"config":625},{"href":206,"dataGaName":626,"dataGaLocation":557},"continuous integration & delivery",{"text":256,"config":628},{"href":258,"dataGaName":629,"dataGaLocation":557},"value stream management",{"text":21,"config":631},{"href":632,"dataGaName":5,"dataGaLocation":557},"/it-it/solutions/gitops/",{"text":269,"config":634},{"href":271,"dataGaName":272,"dataGaLocation":557},{"text":274,"config":636},{"href":276,"dataGaName":277,"dataGaLocation":557},{"text":279,"config":638},{"href":281,"dataGaName":282,"dataGaLocation":557},{"text":640,"config":641},"Istruzione",{"href":642,"dataGaName":643,"dataGaLocation":557},"/it-it/solutions/education/","education",{"text":645,"config":646},"Servizi finanziari",{"href":647,"dataGaName":648,"dataGaLocation":557},"/it-it/solutions/finance/","financial services",{"title":289,"links":650},[651,653,655,657,660,662,665,667,669,671,673,675,677],{"text":301,"config":652},{"href":303,"dataGaName":304,"dataGaLocation":557},{"text":306,"config":654},{"href":308,"dataGaName":309,"dataGaLocation":557},{"text":311,"config":656},{"href":313,"dataGaName":314,"dataGaLocation":557},{"text":316,"config":658},{"href":318,"dataGaName":659,"dataGaLocation":557},"docs",{"text":339,"config":661},{"href":341,"dataGaName":342,"dataGaLocation":557},{"text":334,"config":663},{"href":664,"dataGaName":337,"dataGaLocation":557},"/customers/",{"text":344,"config":666},{"href":346,"dataGaName":347,"dataGaLocation":557},{"text":357,"config":668},{"href":359,"dataGaName":360,"dataGaLocation":557},{"text":349,"config":670},{"href":351,"dataGaName":352,"dataGaLocation":557},{"text":362,"config":672},{"href":364,"dataGaName":365,"dataGaLocation":557},{"text":367,"config":674},{"href":369,"dataGaName":370,"dataGaLocation":557},{"text":372,"config":676},{"href":374,"dataGaName":375,"dataGaLocation":557},{"text":377,"config":678},{"href":379,"dataGaName":380,"dataGaLocation":557},{"title":395,"links":680},[681,683,685,687,689,691,693,697,702,704,706,708],{"text":402,"config":682},{"href":404,"dataGaName":397,"dataGaLocation":557},{"text":407,"config":684},{"href":409,"dataGaName":410,"dataGaLocation":557},{"text":415,"config":686},{"href":417,"dataGaName":418,"dataGaLocation":557},{"text":420,"config":688},{"href":422,"dataGaName":423,"dataGaLocation":557},{"text":425,"config":690},{"href":427,"dataGaName":428,"dataGaLocation":557},{"text":430,"config":692},{"href":432,"dataGaName":433,"dataGaLocation":557},{"text":694,"config":695},"Sustainability",{"href":696,"dataGaName":694,"dataGaLocation":557},"/sustainability/",{"text":698,"config":699},"Diversità, inclusione e appartenenza (DIB)",{"href":700,"dataGaName":701,"dataGaLocation":557},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":435,"config":703},{"href":437,"dataGaName":438,"dataGaLocation":557},{"text":445,"config":705},{"href":447,"dataGaName":448,"dataGaLocation":557},{"text":450,"config":707},{"href":452,"dataGaName":453,"dataGaLocation":557},{"text":709,"config":710},"Dichiarazione di trasparenza sulla schiavitù moderna",{"href":711,"dataGaName":712,"dataGaLocation":557},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":455,"links":714},[715,718,720,722,727,732,737],{"text":716,"config":717},"Contatta un esperto",{"href":132,"dataGaName":133,"dataGaLocation":557},{"text":464,"config":719},{"href":466,"dataGaName":467,"dataGaLocation":557},{"text":469,"config":721},{"href":471,"dataGaName":472,"dataGaLocation":557},{"text":723,"config":724},"Stato",{"href":725,"dataGaName":726,"dataGaLocation":557},"https://status.gitlab.com/","status",{"text":728,"config":729},"Termini di utilizzo",{"href":730,"dataGaName":731,"dataGaLocation":557},"/terms/","terms of use",{"text":733,"config":734},"Informativa sulla privacy",{"href":735,"dataGaName":736,"dataGaLocation":557},"/it-it/privacy/","privacy statement",{"text":738,"config":739},"Preferenze dei cookie",{"dataGaName":740,"dataGaLocation":557,"id":741,"isOneTrustButton":186},"cookie preferences","ot-sdk-btn",{"items":743},[744,746,748],{"text":728,"config":745},{"href":730,"dataGaName":731,"dataGaLocation":557},{"text":733,"config":747},{"href":735,"dataGaName":736,"dataGaLocation":557},{"text":738,"config":749},{"dataGaName":740,"dataGaLocation":557,"id":741,"isOneTrustButton":186},"content:shared:it-it:main-footer.yml","Main Footer","shared/it-it/main-footer.yml","shared/it-it/main-footer",{"_path":755,"_dir":117,"_draft":6,"_partial":6,"_locale":7,"header":756,"eyebrow":757,"blurb":758,"button":759,"secondaryButton":763,"_id":765,"_type":110,"title":766,"_source":111,"_file":767,"_stem":768,"_extension":114},"/shared/it-it/next-steps","Inizia a distribuire software migliori più velocemente","Oltre il 50% delle società Fortune 100 si affida a GitLab","Scopri cosa può fare il tuo team grazie a una\n\n\npiattaforma DevSecOps intelligente.\n",{"text":125,"config":760},{"href":761,"dataGaName":128,"dataGaLocation":762},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":130,"config":764},{"href":132,"dataGaName":133,"dataGaLocation":762},"content:shared:it-it:next-steps.yml","Next Steps","shared/it-it/next-steps.yml","shared/it-it/next-steps",1754424553366]