{"id":7679,"date":"2025-02-26T09:00:00","date_gmt":"2025-02-26T08:00:00","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=7679"},"modified":"2025-03-26T10:47:48","modified_gmt":"2025-03-26T09:47:48","slug":"pipeline-nellera-post-aws-codecommit","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/","title":{"rendered":"Pipeline nell’era post-AWS CodeCommit"},"content":{"rendered":"\n

La filosofia DevOps e l\u2019evoluzione dei processi di sviluppo del software hanno portato ad automatizzare le operazioni di build e deploy delle applicazioni. E cos\u00ec, grazie alle pipeline applicative ed infrastrutturali, finalmente non ci sono pi\u00f9 sviluppatori che portano chiavette USB nell\u2019ufficio dei sistemisti per fare il deploy della nuova release del software! <\/p>\n\n\n\n

Per chi come noi sviluppa quotidianamente applicazioni Cloud-native su AWS, il primo passo per l\u2019avvio di un progetto \u00e8 la creazione di un repository Git e, il passaggio pi\u00f9 naturale a partire dal 9 Luglio 2015<\/a>, \u00e8 sempre stato fare click nella sezione CodeCommit della console AWS e cliccare \u201cCreate Repository\u201d.<\/p>\n\n\n\n

A poco pi\u00f9 di 9 anni dopo (il 31 Luglio 2024) siamo venuti a conoscenza che questa abitudine dovr\u00e0 cambiare a seguito dell\u2019annuncio di Jeff Barr su X. <\/p>\n\n\n\n

<\/p>\n\n\n

\n
\"\"<\/figure><\/div>\n\n\n

<\/p>\n\n\n\n

La notizia ha colto tutti di sorpresa: in sostanza, tutti gli account AWS aperti dopo il 31 Luglio 2024 non potranno pi\u00f9 accedere al servizio, mentre gli account parte di una Organization in cui erano gi\u00e0 presenti repository potranno continuare ad accedervi normalmente.<\/p>\n\n\n\n

Il servizio non \u00e8 per\u00f2 in fase di dismissione, come era stato ipotizzato nei giorni successivi all\u2019annuncio; sono garantiti gli aggiornamenti di sicurezza, la risoluzione dei bug e la manutenzione, ma non verranno sviluppate nuove feature.<\/p>\n\n\n\n

Nonostante AWS CodeCommit non abbia mai offerto opzioni avanzate per il coding collaborativo, la sua forza \u00e8 sempre stata nell\u2019integrazione con i vari strumenti di automazione e rilascio offerti da AWS (come ad esempio CodePipeline, CodeDeploy ed Amplify).<\/p>\n\n\n\n

Sulle motivazioni che possano aver portato AWS a prendere questa decisione sono gi\u00e0 state fatte molte discussioni. Il nostro obiettivo \u00e8 invece quello di vagliare le differenti alternative disponibili, mettendo in luce pro e contro in base anche ai differenti scenari.<\/p>\n\n\n\n

Perch\u00e8 AWS CodeCommit era comodo <\/h2>\n\n\n\n

Un aspetto chiave per l\u2019operativit\u00e0 \u00e8 la sua integrazione con IAM, che fornisce la possibilit\u00e0 di gestire i permessi Git utilizzando gli utenti gi\u00e0 censiti: definendo le git Operations (Pull, push, merge\u2026) consentite agli utenti direttamente all\u2019interno delle policy IAM, risultando veloce e di facile gestione. <\/p>\n\n\n\n

\u00c8 anche possibile realizzare flussi di notifica e approvazione direttamente integrati con il Cloud AWS (ad esempio Amazon SNS, Amazon EventBridge), mentre cambiando Git provider, potrebbe rendersi necessario realizzare integrazioni non pi\u00f9 direttamente configurabili su AWS.<\/p>\n\n\n\n

Inoltre, il costo del servizio \u00e8 davvero irrisorio e permette a chiunque di approcciarsi senza doversi districare fra le feature offerte da una selva di piani di utilizzo differenti.<\/p>\n\n\n\n

Avere la governance dei servizi dell\u2019ecosistema AWS in un punto centralizzato e federato con l\u2019Identity Provider aziendale che includa anche la gestione degli strumenti di sviluppo permette di avere una visione d\u2019insieme, semplificando i processi e facilitando l\u2019implementazione di una Landing Zone;  l\u2019integrazione di CodeCommit con IAM \u00e8 una tessera che aiuta la composizione del puzzle di permessi ed accessi. <\/p>\n\n\n\n

Debolezze<\/h2>\n\n\n\n

Nonostante tutti gli aspetti positivi descritti, era innegabile che AWS CodeCommit avesse alcuni limiti abbastanza evidenti.<\/p>\n\n\n\n

Il primo tra tutti era il ridotto numero di integrazioni con elementi esterni ad AWS. Al giorno d\u2019oggi \u00e8 essenziale per uno strumento di code repository fornire svariate integrazioni oltre a gestire branch e risolvere conflitti. Ormai praticamente tutti i vendor principali offrono soluzioni direttamente integrate con prodotti di terze parti, per poter offrire all\u2019utente un esperienza a 360\u00b0 sulle loro piattaforme.<\/p>\n\n\n\n

Il secondo aspetto critico era la scarsa implementazione di feature per lo sviluppo e le review collaborative. Anche se la possibilit\u00e0 di effettuare \u201cpull & merge request\u201d era presente, la loro implementazione era molto basilare (per non parlare della user experience). Ad oggi, gli strumenti di sviluppo collaborativo offrono interfacce utente molto pi\u00f9 evolute, pur offrendo numerosissime feature anche molto complesse e avanzate per review e comparazione di codice.<\/p>\n\n\n\n

In effetti probabilmente il posizionamento di CodeCommit secondo AWS non \u00e8 mai stato quello di competere direttamente con i prodotti specializzati di sviluppo collaborativo, ma di offrire un\u2019opzione integrata in un\u2019ottica di governance centralizzata degli account e delle risorse. Ed \u00e8 proprio questo il motivo principale per cui l\u2019annuncio improvviso ci ha spiazzato.<\/p>\n\n\n\n

Codebases alternative: GitHub, Gitlab, Bitbucket <\/h2>\n\n\n\n

Come abbiamo gi\u00e0 detto, AWS CodeCommit non \u00e8 pi\u00f9 disponibile per i nuovi arrivati su AWS, ma il servizio non \u00e8 in dismissione: non \u00e8 necessario pensare a strategie di emergenza, ma bisogna comunque iniziare a valutare tra le diverse opzioni disponibili.<\/p>\n\n\n\n

Prima di tutto dobbiamo capire quale, tra le tante scelte, \u00e8 quella che pi\u00f9 si adatta alle nostre esigenze e risorse.<\/p>\n\n\n\n

AWS suggerisce direttamente alcuni vendor, tra cui troviamo i pi\u00f9 famosi GitHub, GitLab e BitBucket.<\/p>\n\n\n\n

Il driver principale dietro a questo suggerimento \u00e8 proprio – di nuovo – l\u2019integrazione tra queste piattaforme e i servizi AWS.
L\u2019ago della bilancia pu\u00f2 essere spostato da una semplice domanda: <\/p>\n\n\n\n

\u201cQual \u00e8 l\u2019utilizzo effettivo del mio repository?\u201d<\/p>\n\n\n\n

Nella prossima sezione cercheremo di abbinare le risposte pi\u00f9 comuni a questa domanda con i vari prodotti disponibili sul mercato.<\/p>\n\n\n\n

Sono veramente pochi i servizi (AWS e non) con i quali queste 3 piattaforme citate precedentemente non offrono un\u2019integrazione infatti tutte e tre le soluzioni possono essere configurate direttamente come step di source per AWS CodePipeline attraverso la creazione di una CodeStar connection. In questo caso, sia per GitHub che per GitLab, possiamo utilizzare la versione SaaS o quella self-hosted.<\/p>\n\n\n\n

Se intendiamo approcciare una di queste soluzioni, viene anche naturale porsi la domanda \u201cho veramente bisogno di AWS CodePipeline?\u201d.<\/p>\n\n\n\n

Se prima utilizzavamo AWS CodeCommit perch\u00e8 comodo e presente nella stessa conosole di AWS CodePipeline, ora che dovremo utilizzare un altro servizio esterno potrebbe non valere pi\u00f9 la pena di usare le pipeline di AWS.<\/p>\n\n\n\n

Sia GitHub che Gitlab, ma anche BitBucket, offrono il loro servizio di pipeline integrate. Rispetto ad AWS questi servizi sono costruiti per sfruttare le tecnologie pi\u00f9 disparate e i prodotti di terze parti pi\u00f9 comuni.<\/p>\n\n\n\n

Adottare questo tipo di Pipeline potrebbe agevolare tutti quegli step intermedi che spesso dovevano essere orchestrati con complessi automatismi di AWS CodeBuild.<\/p>\n\n\n\n

Al contempo, l\u2019effort di sviluppo degli strumenti dedicati alla developer experience su AWS si \u00e8 spostato ed offre integrazioni migliori, come nel caso di GitLab: \u00e8 possibile ora configurare i runner utilizzando AWS CodeBuild come piattaforma di compute, permettendo di impostare un  controllo dei permessi pi\u00f9 granulare rispetto al passato per interagire con le risorse cloud. A chi non \u00e8 mai capitato di vedere runner su EC2 che avevano effettivamente i permessi di AdministratorAccess? <\/p>\n\n\n\n

Anche le GitHub actions ora sono integrate, ed \u00e8 appena stata annunciata l\u2019integrazione con BuildKite.<\/p>\n\n\n\n

Il \u201cfatto in casa\u201d<\/h4>\n\n\n\n

Esiste anche poi l\u2019alternativa \u201chomemade\u201d: anche un mero repository Git accessibile via ssh ha la possibilt\u00e0 di invocare hook e compiere azioni, ma gestire in autonomia il proprio repository, spendendo tempo per garantire l\u2019alta affidabilit\u00e0, la sicurezza ed effettuare le manutenzioni non porta benefici rispetto all\u2019utilizzo di servizi gestiti che garantiscono gi\u00e0 questi aspetti e che permettono invece di concentrarsi sulle  vere esigenze di business. Questa ipotesi non \u00e8 comunque da escludere per requisiti e casi molto particolari.<\/p>\n\n\n\n

Conclusione<\/h2>\n\n\n\n

Dopo l\u2019annuncio di Jeff Bar<\/a> di alcuni mesi fa, in molti avranno pensato di dover correre ai ripari scegliendo in fretta e furia una nuova codebase.<\/p>\n\n\n\n

In realt\u00e0 non si tratta di una dismissione del servizio, ma \u00e8 comunque giusto iniziare a valutare le diverse opzioni che il mercato ha da offrire come alternativa a un servizio che – almeno per chi ha un ecosistema su AWS aveva riscosso un grande successo.<\/p>\n\n\n\n

Con i suoi PRO e CONTRO, AWS CodeCommit con la sua dipartita ci lascia un’importante eredit\u00e0 di considerazioni riguardo alla gestione delle pipeline, utilissima durante il processo decisionale per la scelta di una valida alternativa:<\/p>\n\n\n\n

Tutte le piattaforme alternative a CodeCommit forniscono un punto centralizzato di gestione, ma ovviamente non integrato con le direttive IAM e le possibili federazioni con gli strumenti di Identity gi\u00e0 in uso per tutto l\u2019ecosistema AWS.<\/p>\n\n\n\n

L’integrazione con gli IDP di terze parti \u00e8 infatti un altro aspetto importante; molti Git-Repository si integrano ormai nativamente e permettono di configurare un meccanismo di SSO per fornire agli utenti un meccanismo di autenticazione trasparente che agevolata l\u2019utilizzo dello strumento. <\/p>\n\n\n\n

La possibilit\u00e0 di utilizzare autenticazione SAML, per\u00f2, nel caso di BitBucket, GitLab, GitHub \u00e8 una opzione inclusa solamente nei piani a pagamento con feature enterprise, vanno quindi tenuti in considerazione rispetto ai costi contenuti di CodeCommit, che sfruttava in modo nativo la federazione gi\u00e0 definita su IAM.<\/p>\n\n\n\n

Una volta scelta una nuova piattaforma, anche se tutto funziona sulla carta, \u00e8 consigliabile iniziare lo sviluppo dei nuovi progetti per prendere confidenza con gli strumenti offerti e pianificare quindi una migrazione graduale dei repository gi\u00e0 esistenti in ottica di unificazione della gestione.<\/p>\n\n\n\n

Il porting delle pipeline esistenti potrebbe richiedere molto pi\u00f9 effort rispetto ad iniziare con un progetto nuovo, semplice e meno critico.<\/p>\n\n\n\n

Avete gi\u00e0 riflettuto su quale strumento accoglier\u00e0 i vostri repository in futuro? Fatecelo sapere nei commenti!<\/p>\n\n\n\n


\n\n\n\n

About Proud2beCloud<\/h4>\n\n\n\n

Proud2beCloud \u00e8 il blog di beSharp<\/a>, APN Premier Consulting Partner italiano esperto nella progettazione, implementazione e gestione di infrastrutture Cloud complesse e servizi AWS avanzati. Prima di essere scrittori, siamo Solutions Architect che, dal 2007, lavorano quotidianamente con i servizi AWS. Siamo innovatori alla costante ricerca della soluzione pi\u00f9 all’avanguardia per noi e per i nostri clienti. Su Proud2beCloud condividiamo regolarmente i nostri migliori spunti con chi come noi, per lavoro o per passione, lavora con il Cloud di AWS. Partecipa alla discussione!<\/p>\n","protected":false},"excerpt":{"rendered":"

La filosofia DevOps e l\u2019evoluzione dei processi di sviluppo del software hanno portato ad automatizzare le operazioni di build e […]<\/p>\n","protected":false},"author":27,"featured_media":7668,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[241],"tags":[361,364,387,600,567],"class_list":["post-7679","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","tag-aws-codecommit","tag-ci-cd","tag-github","tag-gitlab-it","tag-landing-zone-it"],"yoast_head":"\nPipeline nell'era post-AWS CodeCommit - Proud2beCloud Blog<\/title>\n<meta name=\"description\" content=\"Come cambier\u00e0 l'approccio alle pipeline dopo il cambio di passo che ha coinvolto AWS CodeCommit? Lo scopriamo in questo articolo!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pipeline nell'era post-AWS CodeCommit\" \/>\n<meta property=\"og:description\" content=\"Come cambier\u00e0 l'approccio alle pipeline dopo il cambio di passo che ha coinvolto AWS CodeCommit? Lo scopriamo in questo articolo!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/\" \/>\n<meta property=\"og:site_name\" content=\"Proud2beCloud Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-26T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-26T09:47:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Social-27.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Riccardo Fragnelli\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Pipeline nell'era post-AWS CodeCommit\" \/>\n<meta name=\"twitter:description\" content=\"Come cambier\u00e0 l'approccio alle pipeline dopo il cambio di passo che ha coinvolto AWS CodeCommit? Lo scopriamo in questo articolo!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Social-27.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Riccardo Fragnelli\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/\",\"url\":\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/\",\"name\":\"Pipeline nell'era post-AWS CodeCommit - Proud2beCloud Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.besharp.it\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Blog-26.jpg\",\"datePublished\":\"2025-02-26T08:00:00+00:00\",\"dateModified\":\"2025-03-26T09:47:48+00:00\",\"author\":{\"@id\":\"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/621a9271823d0abbc1096cd77da47ccc\"},\"description\":\"Come cambier\u00e0 l'approccio alle pipeline dopo il cambio di passo che ha coinvolto AWS CodeCommit? Lo scopriamo in questo articolo!\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#primaryimage\",\"url\":\"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Blog-26.jpg\",\"contentUrl\":\"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Blog-26.jpg\",\"width\":1600,\"height\":900,\"caption\":\"let\u2019s talk about Pipelines in the post-AWS CodeCommit Era\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.besharp.it\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pipeline nell’era post-AWS CodeCommit\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.besharp.it\/it\/#website\",\"url\":\"https:\/\/blog.besharp.it\/it\/\",\"name\":\"Proud2beCloud Blog\",\"description\":\"il blog di beSharp\",\"alternateName\":\"Proud2beCloud Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.besharp.it\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/621a9271823d0abbc1096cd77da47ccc\",\"name\":\"Riccardo Fragnelli\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/be24f01e4e529597302dbbab4ad5504f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/be24f01e4e529597302dbbab4ad5504f?s=96&d=mm&r=g\",\"caption\":\"Riccardo Fragnelli\"},\"description\":\"DevOps @ beSharp I was born on-prem as a Dev before landing on the \u201cCloud side of IT\u201d. With AWS I discovered a whole new branch of IT that fascinates me more and more; I\u2019m always ready for the next big thing! I\u2019m the fussiest man I know on earth and quite lazy. I like spending my free time jumping between video games and RPGs.\",\"url\":\"https:\/\/blog.besharp.it\/it\/author\/riccardo-fragnelli\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pipeline nell'era post-AWS CodeCommit - Proud2beCloud Blog","description":"Come cambier\u00e0 l'approccio alle pipeline dopo il cambio di passo che ha coinvolto AWS CodeCommit? Lo scopriamo in questo articolo!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/","og_locale":"it_IT","og_type":"article","og_title":"Pipeline nell'era post-AWS CodeCommit","og_description":"Come cambier\u00e0 l'approccio alle pipeline dopo il cambio di passo che ha coinvolto AWS CodeCommit? Lo scopriamo in questo articolo!","og_url":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/","og_site_name":"Proud2beCloud Blog","article_published_time":"2025-02-26T08:00:00+00:00","article_modified_time":"2025-03-26T09:47:48+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Social-27.jpg","type":"image\/jpeg"}],"author":"Riccardo Fragnelli","twitter_card":"summary_large_image","twitter_title":"Pipeline nell'era post-AWS CodeCommit","twitter_description":"Come cambier\u00e0 l'approccio alle pipeline dopo il cambio di passo che ha coinvolto AWS CodeCommit? Lo scopriamo in questo articolo!","twitter_image":"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Social-27.jpg","twitter_misc":{"Scritto da":"Riccardo Fragnelli","Tempo di lettura stimato":"8 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/","url":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/","name":"Pipeline nell'era post-AWS CodeCommit - Proud2beCloud Blog","isPartOf":{"@id":"https:\/\/blog.besharp.it\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#primaryimage"},"image":{"@id":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Blog-26.jpg","datePublished":"2025-02-26T08:00:00+00:00","dateModified":"2025-03-26T09:47:48+00:00","author":{"@id":"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/621a9271823d0abbc1096cd77da47ccc"},"description":"Come cambier\u00e0 l'approccio alle pipeline dopo il cambio di passo che ha coinvolto AWS CodeCommit? Lo scopriamo in questo articolo!","breadcrumb":{"@id":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#primaryimage","url":"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Blog-26.jpg","contentUrl":"https:\/\/blog.besharp.it\/wp-content\/uploads\/2025\/02\/Copertina-per-Blog-26.jpg","width":1600,"height":900,"caption":"let\u2019s talk about Pipelines in the post-AWS CodeCommit Era"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.besharp.it\/it\/pipeline-nellera-post-aws-codecommit\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.besharp.it\/it\/"},{"@type":"ListItem","position":2,"name":"Pipeline nell’era post-AWS CodeCommit"}]},{"@type":"WebSite","@id":"https:\/\/blog.besharp.it\/it\/#website","url":"https:\/\/blog.besharp.it\/it\/","name":"Proud2beCloud Blog","description":"il blog di beSharp","alternateName":"Proud2beCloud Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.besharp.it\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/621a9271823d0abbc1096cd77da47ccc","name":"Riccardo Fragnelli","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/be24f01e4e529597302dbbab4ad5504f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/be24f01e4e529597302dbbab4ad5504f?s=96&d=mm&r=g","caption":"Riccardo Fragnelli"},"description":"DevOps @ beSharp I was born on-prem as a Dev before landing on the \u201cCloud side of IT\u201d. With AWS I discovered a whole new branch of IT that fascinates me more and more; I\u2019m always ready for the next big thing! I\u2019m the fussiest man I know on earth and quite lazy. I like spending my free time jumping between video games and RPGs.","url":"https:\/\/blog.besharp.it\/it\/author\/riccardo-fragnelli\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/posts\/7679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/comments?post=7679"}],"version-history":[{"count":8,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/posts\/7679\/revisions"}],"predecessor-version":[{"id":7758,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/posts\/7679\/revisions\/7758"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/media\/7668"}],"wp:attachment":[{"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/media?parent=7679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/categories?post=7679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/tags?post=7679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}