Nel mio precedente post sul blog, "Come praticare il CI/CD alla maniera di SnapLogic", ho fornito tre approcci che gli sviluppatori di pipeline e gli ingegneri DevOps possono implementare per supportare le metodologie di continuous integration e continuous delivery (CI/CD) della loro organizzazione. Diversi approcci oggi ampiamente utilizzati includono l'importazione/esportazione di progetti, l'importazione/esportazione di progetti tramite l'API pubblica di SnapLogic e il CI/CD tramite SnapLogic Metadata Snap. In questo post, descriverò un nuovo, quarto approccio che prevede l'integrazione con GitHub Cloud .
CI/CD - continuous integration and continuous delivery - è una pratica in cui il codice viene costruito, integrato e consegnato in modo frequente. Questa metodologia consente di individuare e risolvere più rapidamente i problemi rispetto a chi opera con cicli di compilazione e consegna poco frequenti.
Approccio #4: Integrazione di GitHub Cloud
Nella release di SnapLogic di agosto 2018, abbiamo introdotto una nuova funzionalità che consente l'integrazione nativa con GitHub Cloud, che fornisce ai clienti la possibilità di effettuare operazioni di check-in, check-out e pull per GitHub Cloud.
L'integrazione GitHub Cloud è il quarto approccio che i nostri clienti possono sfruttare per le funzionalità CI/CD. Per utilizzare la funzione GitHub, è necessario prima autorizzare i repo/repos a cui la piattaforma SnapLogic Enterprise Cloud può accedere. Inoltre, ogni utente di SnapLogic dovrà autenticarsi con GitHub in modo da poter applicare le autorizzazioni appropriate. Una volta completata l'autorizzazione, gli utenti possono iniziare a collegare i repository ai loro progetti.
Dal punto di vista del flusso di lavoro, si crea un repository vuoto in GitHub per eseguire il bootstrap e poi si esegue il check-out di un progetto su quel determinato repository nella propria organizzazione di sviluppo. Dopo il check-out, si possono aggiungere al repository più risorse di quel progetto ed eseguire un check-in direttamente dalla piattaforma SnapLogic. Successivamente, si passa all'ambiente di test/stage/produzione e si esegue il check-out dello stesso repository che si desidera distribuire nel progetto di destinazione. Per ulteriori modifiche, è possibile eseguire il check-in dei delta sull'org di sviluppo e quindi estrarre tali modifiche a valle.
Per il versioning, il rollback e l'hot-patching, è possibile effettuare il check-in e il check-out di diversi rami e tag per ripristinare una versione precedente. È necessario eseguire una patch a caldo? Create un ramo dalla versione con tag utilizzata in produzione, aggiornate le risorse, eseguite il check-in delle modifiche e quindi distribuite nuovamente (pull) nell'ambiente a valle.
L'automazione è fondamentale per i processi DevOps e di sviluppo, quindi ora è possibile automatizzare i test di unità e di accettazione con una suite di pipeline di test. È inoltre possibile impostare webhook in GitHub, in modo che dopo aver effettuato un check-out o un pull, il webhook attivi le pipeline di automazione per eseguire la verifica del deploy. Gli utenti che hanno le proprie suite di test possono attivare questo evento dai propri ambienti di test, oltre che dai webhook di GitHub.
Inoltre, è possibile configurare l'automazione del deployment e il rollback automatico. È possibile configurare la verifica dell'automazione del test in modo che avvenga dopo il check-out o il pull di SnapLogic. La verifica dell'automazione può essere completata con successo o fallire e a quel punto è possibile eseguire un rollback.
Il video "GitHub Cloud Integration" qui sotto mostra come ottenere i vantaggi del CI/CD, tra cui una maggiore collaborazione e il controllo delle versioni con la funzione GitHub Cloud Integration di SnapLogic.
Ecco l'integrazione di GitHub Cloud alla maniera di SnapLogic. Ora è possibile sperimentare una metodologia DevOps end-to-end con funzionalità CI/CD complete grazie alla funzione di integrazione di SnapLogic GitHub Cloud e lavorare senza problemi con soluzioni CI/CD come Jenkins, TeamCity e altre.
Leggete "Come praticare il CI/CD alla maniera di SnapLogic" per scoprire come SnapLogic consente di supportare il CI/CD in altri modi.