Automatizzare le infrastrutture di sviluppo delle applicazioni con GitLab e Relution

Di cosa si tratta

Quando si lavora in una grande azienda o agenzia che sviluppa e spedisce molte applicazioni, il processo di rilascio può richiedere molto tempo. In un tale scenario, sono coinvolte molte persone come il reparto IT, il proprietario dell'app, i tester e naturalmente gli sviluppatori stessi. Inoltre, tutte queste persone utilizzano diversi strumenti per lo sviluppo, il test e la distribuzione, il che porta a una frammentazione dell'infrastruttura IT e a una diffusione delle credenziali in tutti questi strumenti. Un'altra cosa importante da tenere a mente è la responsabilità di questi strumenti e dell'infrastruttura che raramente è chiara. Come sviluppatore, ad esempio, non voglio essere responsabile della gestione dei repository del codice sorgente e dell'infrastruttura di integrazione continua. In qualità di gestore responsabile dell'infrastruttura IT, non voglio occuparmi dei problemi del codice dell'applicazione aziendale e di come l'applicazione viene costruita dallo strumento CI. Mentre la richiesta di una consegna rapida è in crescita, perché non c'è un'infrastruttura in grado di risolvere questi problemi una volta per tutte? Anticipiamo - c'è una soluzione!

La combinazione tra il repository Git leader e lo strumento di integrazione continua là fuori - GitLab e Relution, l'unico strumento di gestione del ciclo di vita completo dell'applicazione, risolve questi problemi.

L'intero processo di rilascio delle app, dalla creazione di nuovi progetti di app e dell'infrastruttura necessaria alla spedizione delle app alla vostra azienda o agli app store pubblici, può essere semplificato e automatizzato.

Ricco di funzionalità, aperto e ampiamente utilizzato

Non è necessario dimostrare che l'uso di repository di codice e di strumenti CI/CD continui (Wikipedia) aiutano i team di sviluppo nei progetti software. GitLab è uno dei tre grandi protagonisti (insieme a GitHub & BitBucket) e trova un grande utilizzo, soprattutto nelle aziende e nelle agenzie (secondo il sito web di GitLab, è utilizzato da più di 100.000 organizzazioni). Ha un ricco set di funzionalità che copre l'intero ciclo di vita dello sviluppo e un'enorme comunità, oltre a molte possibilità di estensioni e possibilità di scripting. Una delle grandi cose di GitLab è la combinazione di repository Git e di continui lavori di costruzione di build. Gli sviluppatori possono controllare il loro codice, definire un cosiddetto file .yml che ha tutti i comandi per compilare, costruire e rilasciare un'app e il meccanismo di consegna continua integrato costruisce l'app automaticamente ad ogni nuovo commit.

Insight Automating gitlab 1 Insight Automating gitlab 2 Insight Automating gitlab 3 Insight Automating gitlab 4

Gestione delle applicazioni dalla A alla Z

Relution è uno strumento di gestione del ciclo di vita delle app mobili che ha un'angolazione specifica sui progetti di app in generale. Supporta il ciclo di vita del rilascio di diverse versioni di app e fornisce un'infrastruttura per la gestione delle app. Dopo che un'app è stata caricata su Relution (naturalmente, questo passaggio può essere automatizzato), permette ai proprietari di app di rilasciare l'app in diverse fasi. È possibile definire i permessi per sviluppatori, tester e proprietari di app, in modo che l'app possa essere rivista in diverse fasi. Inoltre, Relution può gestire i metadati delle app come descrizioni e screenshot e anche ri-firmare automaticamente le app. Questo, in particolare, aiuta le aziende con molte agenzie di app esterne a non diffondere le proprie credenziali di firma a persone esterne all'azienda e garantisce che ogni app venga ri-firmata correttamente con i certificati aziendali scelti. Relution consente inoltre alle aziende di beneficiare di un proprio app store che viene utilizzato per le app aziendali. Questa funzione viene utilizzata principalmente per le app aziendali che non dovrebbero essere distribuite attraverso gli app store pubblici - come le app interne, le app CRM o altri flussi di lavoro aziendali.

Insight automating Relution 1 Insight automating Relution 2 Insight automating Relution 3 Insight automating Relution 4

La combinazione è la soluzione!

Tornando al problema descritto nell'introduzione, vogliamo mostrarvi una soluzione che consiste in una configurazione di entrambi gli strumenti. Ecco come potrebbe apparire un flusso di lavoro nella realtà:

  1. Alice è il responsabile delle vendite dell'azienda X. Ha l'idea di una nuova app che accelera i flussi di lavoro delle vendite per i membri del suo team. Dopo alcune riunioni e molto lavoro, sa di cosa ha bisogno. È responsabile della nuova app, quindi ha il ruolo di "proprietaria dell'app". Si collega al suo account Relution e richiede un nuovo 'ambiente di sviluppo' - CLICCA
  2. Bob è un dipendente IT, responsabile dell'infrastruttura mobile e riceve un'e-mail che dice "Alice ha richiesto un ambiente di sviluppo per una nuova app - Si prega di approvare! Così fa - CLICCA.
  3. Iel frattempo, Alice, la proprietaria dell'applicazione, ha trovato un'agenzia esterna che svilupperà l'applicazione perché sa che l'IT interno non ha risorse per lo sviluppo. Invita gli sviluppatori a partecipare all'ambiente di sviluppo approvato - CLICCA.
  4. Carl e Carol, gli sviluppatori dell'applicazione, ricevono un'email su dove si trova il loro repository Git e il lavoro di costruzione e su come configurarlo. Iniziano a sviluppare l'app - HACK HACK HACK HACK.
  5. All'improvviso Alice riceve un messaggio push "La tua app può essere rivista" dall'app Relution Enterprise App Store sul suo telefono - CLICCA.
  6. Alice è sorpresa della rapidità con cui è successo, controlla l'app, è contenta e preme il pulsante 'rilascio' nella sua app Relution.
  7. Da questo momento in poi, l'app viene distribuita a tutto il team di vendita e l'incremento di efficienza avviene subito. Come ti piace questo flusso di lavoro? Avete sicuramente delle domande, vero?
Insight automating Relution 5 Insight automating Relution 6 Insight automating Relution 7 Insight automating Relution 8

Dove avviene la "magia" - attività di fondo

Relution utilizza molte grandi caratteristiche di GitLabs sullo sfondo. Se un ambiente di sviluppo viene approvato dal dipartimento IT, viene creato un nuovo repository di progetto. Esso è precompilato con due importanti file: il file .yml e uno script di upload. Il file .yml viene utilizzato per impostare un lavoro di compilazione e lo script di caricamento viene utilizzato per caricare gli artefatti dell'applicazione di compilazione in Relution per l'ulteriore elaborazione. Inoltre, i permessi degli sviluppatori sono impostati automaticamente sul server GitLab del repository, in modo che gli sviluppatori definiti possano usare la loro chiave SSH per lavorare con il repository. GitLab può (ma non deve) rimanere in background poiché gli sviluppatori possono definire i loro parametri di compilazione nel file .yml. Le app costruite possono essere distribuite agli sviluppatori attraverso l'app Relution (così, infatti, lo sviluppatore impegna qualcosa, e dopo un po', riceve l'app costruita sul suo dispositivo mobile per i test). Naturalmente, gli sviluppatori devono caricare la loro chiave pubblica SSH su Relution prima di clonare il repository. Per impostazione predefinita, una nuova build sul server di Integrazione Continua si attiva quando uno sviluppatore spinge le modifiche al ramo master. Gli artefatti di build (app) creati da una build di successo saranno caricati su Relution e sono collegati al corrispondente ambiente di sviluppo. Le app caricate sono visibili nella vista App Store o tramite l'Hub di sviluppo selezionando l'ambiente di sviluppo appropriato nel portale Relution.

Vantaggi per gli affari

  • Risparmiare almeno una settimana per ogni nuovo progetto di app per richiedere e impostare un ambiente di sviluppo (repository del codice sorgente & build job)
  • Ottenere una prima versione funzionante di una nuova app più velocemente sul campo
  • Testate le nuove versioni e preparatele per la produzione più velocemente che mai con il flusso di lavoro di revisione automatica
  • Non si tratta di argomenti relativi all'infrastruttura IT di cui i proprietari di app non sanno nulla
  • Una facile possibilità di installare, rivedere e rilasciare le applicazioni da un telefono cellulare

Vantaggi IT

  • Infrastruttura unificata per lo sviluppo di progetti di app
  • Non si tratta di nuovi strumenti e configurazioni per ogni nuovo progetto di app
  • Un processo semplice e organizzato per ogni sviluppatore, proprietario di app, tester e utente
  • Rimanete informati sulle nuove richieste di app e sugli ambienti di sviluppo

Vantaggi per gli sviluppatori

  • Repository Git preparato e lavoro CI - non è necessaria alcuna configurazione
  • Facile configurazione del lavoro di costruzione in un file .yml
  • Facilità di test attraverso l'app store Relution enterprise app store
  • Meccanismo di sgancio rapido dallo "sviluppo" dello stato alla "revisione".

Requisiti

Gestione dei dispositivi mobili e delle applicazioni con Relution

Gratuito per un massimo di 5 dispositivi e 5 applicazioni per sempre. Non sono richieste informazioni sul pagamento.