Automatizzare il ciclo di vita delle app con compilazione e integrazione continue
Gli sviluppatori scrivono il codice e lo controllano nel repository di codice, ma i commit verificati nel repository potrebbero non essere sempre coerenti. Quando più sviluppatori lavorano sullo stesso progetto, i problemi possono verificarsi con l'integrazione. I team potrebbero riscontrare situazioni in cui le cose non funzionano, i bug si accumulano e lo sviluppo del progetto viene ritardato. Gli sviluppatori devono attendere fino a quando l'intero codice software viene compilato e testato per verificare la presenza di errori, il che rende il processo lento e meno iterativo.
Grazie alla compilazione e all'integrazione continua, gli sviluppatori possono semplificare le compilazioni e testare il codice eseguendo il commit delle modifiche nel repository del codice sorgente e inserendo test e verifiche nell'ambiente di compilazione. In questo modo, vengono sempre eseguiti test sul codice. Tutte le modifiche apportate al codice sorgente vengono compilate continuamente ogni volta che viene eseguito un commit nel repository. Con ogni archiviazione, il server di integrazione continua (CI) convalida ed esegue qualsiasi test creato dallo sviluppatore. Se i test non vengono superati, il codice viene restituito per ulteriori modifiche. In questo modo, gli sviluppatori non interrompono le compilazioni create. Inoltre, non è necessario eseguire tutti i test in locale nei computer, aumentando la produttività degli sviluppatori.
Vantaggi principali
- Automatizzare compilazioni, test e distribuzioni per le pipeline.
- Rilevare i bug e risolvere i problemi in anticipo per garantire una velocità di rilascio più rapida.
- Eseguire il commit del codice più frequentemente e compilare rapidamente le applicazioni.
- Ottenere flessibilità per modificare rapidamente il codice senza problemi.
- Ottenere tempi di commercializzazione più rapidi in modo che solo il codice di buona qualità lo renda tutto il possibile.
- Apportare modifiche di codice di piccole dimensioni in modo più efficiente perché piccole parti di codice vengono integrate contemporaneamente.
- Aumentare la trasparenza e la responsabilità del team in modo da ottenere feedback continuo dai clienti e dal team.
Usare i servizi seguenti per abilitare una pipeline di integrazione continua nelle app per dispositivi mobili.
Visual Studio App Center
La compilazione di App Center consente di creare applicazioni native e multipiattaforma che il team sta lavorando usando un'infrastruttura cloud sicura. È possibile connettere facilmente il repository in Visual Studio App Center e iniziare a creare l'app nel cloud a ogni commit. Non è necessario preoccuparsi di configurare server di compilazione in locale, configurazioni complesse e codice che si basa su un computer del collega, ma non sul proprio.
Grazie alla potenza aggiuntiva dei servizi di Visual Studio App Center, è possibile automatizzare ulteriormente il flusso di lavoro. È possibile rilasciare automaticamente le build ai tester e agli app store pubblici con App Center Distribute. È anche possibile eseguire test automatizzati dell'interfaccia utente su migliaia di configurazioni reali di dispositivi e sistemi operativi nel cloud con test di App Center.
Funzionalità di Visual Studio App Center
- Configurare l'integrazione continua in pochi minuti e creare applicazioni più frequentemente e più veloci.
- Eseguire l'integrazione con GitHub, BitBucket, Azure DevOps e GitLab.
- Creare build veloci e sicure su computer gestiti ospitati nel cloud.
- Abilitare le compilazioni per avviare il test e verificare se l'app viene compilata in dispositivi iOS e Android reali.
- Ottenere il supporto nativo e multipiattaforma per iOS, Android, macOS, Windows, Xamarin e React Native.
- Personalizzare le compilazioni aggiungendo script post-clone, pre-compilazione e post-compilazione.
Riferimenti a Visual Studio App Center
Azure Pipelines
Azure Pipelines, un servizio in Azure DevOps, è un servizio di integrazione continua e recapito continuo (CD) completo che funziona con il provider Git preferito. Può essere distribuito nella maggior parte dei principali servizi cloud, tra cui Azure. È possibile iniziare con il codice in GitHub, GitHub Enterprise Server, GitLab, Bitbucket Cloud o Azure Repos. È quindi possibile automatizzare la compilazione, il test e la distribuzione del codice in Microsoft Azure, Google Cloud Platform o Amazon Web Services (AWS).
Funzionalità di Azure Pipelines
- Esperienza semplificata basata su attività per la configurazione di un server di integrazione continua: Configurare un server CI per applicazioni mobili native (Android, iOS e Windows) e multipiattaforma (Xamarin, Cordova e React Native), oltre alle tecnologie server basate su Microsoft e non Microsoft (Node.js, Java).
- Qualsiasi linguaggio, piattaforma e cloud: Compilare, testare e distribuire applicazioni Node.js, Python, Java, PHP, Ruby, Go, C/C++, C#, Android e iOS. Esecuzione in parallelo in Linux, macOS e Windows. Eseguire la distribuzione in provider di servizi cloud come Azure, AWS e Google Cloud Platform. Distribuire applicazioni per dispositivi mobili tramite canali beta e app store.
- Supporto dei contenitori nativi: Creare nuovi contenitori con facilità ed eseguirne il push in qualsiasi registro. Distribuire contenitori in host indipendenti o Kubernetes.
- Flussi di lavoro avanzati: Creare facilmente catene di compilazione e compilazioni multifase. Ottenere supporto per YAML, integrazione di test, controlli di versione, creazione di report e altro ancora.
- Extensible: Usare una gamma di attività di compilazione, test e distribuzione create dalla community, che include centinaia di estensioni da Slack a SonarCloud. È anche possibile eseguire la distribuzione da altri sistemi CI, ad esempio Jenkins. Gli hook Web e le API REST possono essere utili per l'integrazione.
- Compilazioni gratuite ospitate nel cloud: Queste build sono disponibili per i repository pubblici e privati.
- Supporto per la distribuzione ad altri fornitori di servizi cloud: I fornitori includono AWS e Google Cloud Platform.
Riferimenti ad Azure Pipelines
Per facilitare la scelta del servizio appropriato per le compilazioni dell'applicazione, vedere l'articolo che confronta La compilazione di App Center e Azure Pipelines.