Supporto di GitHub Enterprise e connessioni automatiche al servizio GitHub nelle pipeline di compilazione - Aggiornamento sprint 146
Nell'aggiornamento di Sprint 146 di Azure DevOps è stata migliorata l'integrazione di GitHub con Azure Pipelines. La procedura guidata Nuova pipeline di compilazione può ora creare pipeline per i repository di GitHub Enterprise. Analizza anche il tuo repository per fornire un modello di linguaggio suggerito. Inoltre, può creare e riutilizzare le connessioni al servizio per i repository GitHub selezionati.
Per altre informazioni, vedere l'elenco delle funzionalità riportato di seguito.
Funzionalità
Generale:
- Restore deleted projects (Ripristinare progetti eliminati)
Azure Boards:
- Simplify the organization of your work using the Basic process (Semplificare l'organizzazione del lavoro con il processo Basic)
Azure Pipelines:
- GitHub Enterprise support in the pipeline wizard (Supporto per GitHub Enterprise nella procedura guidata della pipeline)
- Automatic GitHub service connections in pipelines (Connessioni automatiche al servizio GitHub nelle pipeline)
- Display status for each pipeline job in GitHub Checks (Visualizzare lo stato per ogni processo di pipeline in GitHub Checks)
- Default authorization for YAML resources in GitHub (Autorizzazione predefinita per le risorse YAML in GitHub)
- Service containers for YAML pipelines (Contenitori di servizi per pipeline YAML)
- Work items linked to GitHub commits in Release Summary (Elementi di lavoro collegati ai commit di GitHub nel riepilogo versione)
- New Azure App service tasks optimized for YAML (Nuove attività del Servizio app di Azure ottimizzate per YAML)
- Supporto dell'autenticazione di Azure Active Directory (AD) per l'attività SQL di Azure
- Grafana annotations service hook (Hook del servizio per annotazioni Grafana)
- Query Azure Monitor alerts tasks (Eseguire query sulle attività degli avvisi di Monitoraggio di Azure)
- Inline input of spec file in Deploy to Kubernetes task (Input inline del file di specifiche nell'attività Distribuisci in Kubernetes)
- Docker CLI Installer task (Attività del programma di installazione dell'interfaccia della riga di comando di Docker)
- Java long-term support (LTS) on Microsoft hosted agents (Supporto a lungo termine per Java negli agenti ospitati da Microsoft)
- YAML support for Bitbucket Cloud pipelines (Supporto di YAML per pipeline di Bitbucket Cloud)
- Avoid triggering multiple CI builds for pull requests (Evitare l'attivazione di più build con integrazione continua per le richieste pull)
- Change build numbers, upload and download artifacts in forked repository builds (Modificare i numeri di build e caricare e scaricare artefatti nelle build dei repository con fork)
- New option in Publish Test Results task to fail build on failed tests (Nuova opzione nell'attività Pubblica i risultati dei test per completare come non riuscita la build in caso di test non riusciti)
- Aggiornamenti al portale di Azure per la creazione di un progetto Azure DevOps
- Usare il portale di Azure per configurare e distribuire in un database CosmosDB
- Configurare le build e le pipeline di versione per Funzioni nel portale di Azure
Azure Artifacts:
- Package usage stats (Statistiche sull'utilizzo di pacchetti)
Wiki:
- Carattere monospaced per l'editor di Wiki Markdown
- Titoli pagina Wiki in grassetto
- Insert Markdown table (Inserire la tabella di Markdown)
- Incorporare i risultati delle query di Azure Boards in Wiki
Generali
Restore deleted projects (Ripristinare progetti eliminati)
In questo aggiornamento è stata aggiunta la possibilità di ripristinare i progetti eliminati dal portale di Azure DevOps. Se si dispone dell'autorizzazione di eliminazione del progetto, è anche possibile ripristinare un progetto eliminato dalla pagina Organizzazione Impostazioni > Panoramica.
Azure Boards
Simplify the organization of your work using the Basic process (Semplificare l'organizzazione del lavoro con il processo Basic)
Importante
Il processo Basic è disponibile in anteprima pubblica come processo predefinito per i nuovi progetti all'interno delle nuove organizzazioni create nell'area Stati Uniti centrali.
In passato, Agile è stato il processo predefinito per i nuovi progetti, offrendo un set affidabile e flessibile di tipi di elementi di lavoro e stati per soddisfare un'ampia gamma di metodi di recapito del progetto. Per alcuni team, che hanno familiarità con altri strumenti o che stanno crescendo e vogliono adottare un set di strumenti più potente, vogliono iniziare rapidamente a usare la terminologia con cui hanno più familiarità.
Il nuovo processo Basic fornisce tre tipi di elemento di lavoro (Epiche, Problemi e Attività) per pianificare e tenere traccia del lavoro. È consigliabile usare Problemi per tenere traccia di elementi come storie utente, bug e funzionalità durante l'uso di Epics per raggruppare i problemi in unità di lavoro più grandi. Man mano che si procede al lavoro, spostare gli elementi lungo un flusso di lavoro di stato semplice di To Do, Doing e Done.
Vedere la documentazione tenere traccia dei problemi e delle attività per iniziare a usare il nuovo progetto.
Azure Pipelines
GitHub Enterprise support in the pipeline wizard (Supporto per GitHub Enterprise nella procedura guidata della pipeline)
In precedenza, è possibile usare la finestra di progettazione visiva per creare pipeline per i repository GitHub Enterprise. È ora possibile usare anche la Creazione guidata nuova pipeline di compilazione per creare le pipeline.
La procedura guidata analizza il repository GitHub Enterprise per suggerire un modello YAML corrispondente al linguaggio del progetto. È quindi possibile modificare e salvare YAML come commit diretto nel ramo predefinito o come richiesta pull.
Per altri dettagli, vedere la documentazione sulla creazione della prima pipeline qui.
Automatic GitHub service connections in pipelines (Connessioni automatiche al servizio GitHub nelle pipeline)
Quando si usa la Creazione guidata nuova pipeline di compilazione per creare una pipeline per GitHub, la pagina per la scelta o la creazione di una connessione al servizio GitHub ha causato confusione sulla connessione da selezionare dall'elenco. Non è quindi necessario scegliere una connessione. La procedura guidata crea e usa di nuovo una connessione al servizio per il repository scelto.
Se si desidera scegliere manualmente una connessione diversa da quella selezionata automaticamente, seguire il collegamento ipertestuale Scegli connessione . Per altre informazioni, vedere Creare repository GitHub.
Nota
La selezione si basa sull'app GitHub di Azure Pipelines (se installata nel repository) o sull'identità GitHub personale (usando OAuth).
Display status for each pipeline job in GitHub Checks (Visualizzare lo stato per ogni processo di pipeline in GitHub Checks)
In precedenza, uno stato di compilazione singolo è stato pubblicato in GitHub Checks per la pipeline anche se includeva processi per più piattaforme ( ad esempio Linux, macOS e Windows). Ora lo stato viene pubblicato in GitHub Verifica la presenza di ogni processo nella pipeline. Inoltre, è possibile eseguire di nuovo l'intera compilazione o solo i singoli processi non riusciti da Controlli GitHub. Per usare questa funzionalità, la pipeline deve essere configurata per l'uso dell'app GitHub di Azure Pipelines. Per altri dettagli, vedere Integrazione con l'app GitHub. Per configurare una pipeline con processi per più piattaforme, vedere Creare una pipeline multipiattaforma.
Default authorization for YAML resources in GitHub (Autorizzazione predefinita per le risorse YAML in GitHub)
Se si gestisce il codice sorgente in GitHub e si usa YAML per definire la pipeline, probabilmente si è verificato un errore di compilazione dell'autorizzazione delle risorse. Quando è stato modificato il file YAML e è stato aggiunto un riferimento a una delle risorse protette ( ad esempio, connessione al servizio, pool di agenti, gruppo di variabili o file sicuro), Azure Pipelines non è riuscito a convalidare l'identità dell'utente che ha apportato tale modifica e non è riuscita la compilazione. Per risolvere questo problema, è necessario salvare la pipeline di compilazione nell'editor Web dopo aver apportato una modifica al file YAML. Molti utenti che hanno riscontrato questo problema volevano semplicemente consentire a tutte le pipeline di usare la risorsa.
Per evitare l'errore di compilazione dell'autorizzazione delle risorse, è stato modificato il comportamento predefinito di tutte le nuove connessioni del servizio, dei pool di agenti e dei gruppi di variabili per l'uso in tutte le pipeline. Se si vogliono controlli più rigorosi sulle risorse, è possibile disabilitare il modello di autorizzazione predefinito (vedere la figura seguente). In questo caso, un utente con autorizzazioni per l'uso della risorsa deve salvare la pipeline nell'editor Web dopo l'aggiunta di un riferimento di risorsa al file YAML.
Service containers for YAML pipelines (Contenitori di servizi per pipeline YAML)
In precedenza era necessario installare, avviare e arrestare servizi come database o cache di memoria se la pipeline YAML usava questi servizi. Con questo aggiornamento sono stati aggiunti contenitori di servizi in grado di gestire queste attività. Ad esempio, se la pipeline usa una cache Redis per i test di integrazione, è possibile includere l'immagine del contenitore Redis come servizio nella pipeline. L'agente recupera automaticamente l'immagine, la avvia e la rete in modo che i passaggi della pipeline possano farvi riferimento dal nome host redis. Al termine della pipeline, l'agente eseguirà lo spin down del contenitore del servizio in modo pulito.
Work items linked to GitHub commits in Release Summary (Elementi di lavoro collegati ai commit di GitHub nel riepilogo versione)
A dicembre è stata introdotta la funzionalità per collegare i commit di GitHub agli elementi di lavoro. Siamo lieti di annunciare che è ora possibile visualizzare tutti gli elementi di lavoro di Azure Boards collegati ai commit di GitHub nella pagina di riepilogo della versione. Questo consentirà ai team di tenere traccia e recuperare altre informazioni sui commit distribuiti in un ambiente.
Nuove attività del servizio app Azure ottimizzate per YAML
Sono ora supportate quattro nuove attività che offrono un modo semplice ma potente per distribuire app Azure Servizi con sviluppatori moderni. Queste attività hanno una sintassi YAML ottimizzata che rende più semplice e intuitivo creare distribuzioni in app Azure Services, tra cui WebApps, FunctionApps, WebApps per contenitori e FunctionApp per contenitori in piattaforme Windows e Linux.
È supportata anche una nuova attività di utilità per la trasformazione dei file e la sostituzione delle variabili per i formati XML e JSON.
Supporto dell'autenticazione di Azure Active Directory (AD) per l'attività SQL di Azure
L'attività SQL di Azure è stata migliorata per supportare la connessione a un database tramite Azure AD (Integrated & Password) e un stringa di connessione oltre al supporto esistente per l'autenticazione di SQL Server.
Grafana annotations service hook (Hook del servizio per annotazioni Grafana)
È ora supportato un nuovo hook del servizio che consente di aggiungere annotazioni Grafana per gli eventi Deployment Completed a un dashboard di Grafana. Ciò consente di correlare le distribuzioni con le modifiche apportate alle metriche dell'applicazione o dell'infrastruttura visualizzate in un dashboard di Grafana.
Query Azure Monitor alerts tasks (Eseguire query sulle attività degli avvisi di Monitoraggio di Azure)
La versione precedente dell'attività Query di Monitoraggio di Azure supportava l'esecuzione di query sugli avvisi solo nell'esperienza di monitoraggio classica. Con questa nuova versione dell'attività, è possibile eseguire query sugli avvisi sull'esperienza di monitoraggio unificata introdotta di recente da Monitoraggio di Azure.
Inline input of spec file in Deploy to Kubernetes task (Input inline del file di specifiche nell'attività Distribuisci in Kubernetes)
In precedenza, l'attività di distribuzione Kubernetes richiedeva di fornire un percorso di file per la configurazione. È ora possibile aggiungere anche la configurazione inline.
Docker CLI Installer task (Attività del programma di installazione dell'interfaccia della riga di comando di Docker)
Questa attività consente l'installazione di qualsiasi versione dell'interfaccia della riga di comando di Docker negli agenti, come specificato dall'utente.
Java long-term support (LTS) on Microsoft hosted agents (Supporto a lungo termine per Java negli agenti ospitati da Microsoft)
In precedenza, gli agenti ospitati da Microsoft avevano preinstallato JDK sovraccaricati da licenze complesse, restrizioni degli utenti finali e mancanza di supporto a lungo termine. In questo aggiornamento sono stati sostituiti i JDK con build LTS testate e certificate di OpenJDK di Azul Systems. Gli sviluppatori Java che usano Azure possono ora compilare ed eseguire applicazioni Java di produzione usando build Azul Systems Zulu Enterprise di OpenJDK senza incorrere in costi di supporto aggiuntivi.
Questa nuova offerta è progettata per rendere le build e le distribuzioni Java ospitate da Microsoft senza problemi incorporando aggiornamenti trimestrali della sicurezza e correzioni di bug, nonché aggiornamenti e patch fuori banda critici in base alle esigenze. Se si stanno creando o eseguendo app Java in locale o con altri JDK, è consigliabile passare a Zulu in Azure per il supporto e la manutenzione gratuiti. Per altre informazioni, vedere il blog Microsoft e Azul Systems bring free Java LTS support to Azure (Microsoft e Azul Systems bring free Java LTS support to Azure).
YAML support for Bitbucket Cloud pipelines (Supporto di YAML per pipeline di Bitbucket Cloud)
In precedenza, le pipeline basate su YAML non supportano Bitbucket Cloud. A questo punto, è possibile usare YAML per definire le pipeline di Bitbucket Cloud o usare la finestra di progettazione visiva per eseguire la stessa operazione. Per usare YAML, aggiungere un file azure-pipelines.yml al repository. In Azure Pipelines scegliere Nuova pipeline di compilazione, quindi selezionare Usa il collegamento ipertestuale della finestra di progettazione visiva, selezionare "Bitbucket Cloud" e "YAML". Qui è possibile immettere il percorso del file YAML del repository.
Per altre informazioni, vedere la guida alla sintassi YAML e il repository GitHub di esempi YAML.
Avoid triggering multiple CI builds for pull requests (Evitare l'attivazione di più build con integrazione continua per le richieste pull)
I modelli di compilazione YAML inclusi in Azure Pipelines sono stati configurati per attivare compilazioni per qualsiasi ramo all'interno di un repository. Sono inclusi i rami dell'argomento della richiesta pull. Di conseguenza, al momento della creazione delle richieste pull sono state attivate due compilazioni. Una compilazione per il ramo della richiesta pull in risposta al trigger di integrazione continua e una seconda compilazione per il ramo della richiesta pull in risposta al trigger della richiesta pull.
Usando il frammento YAML seguente, i modelli YAML predefiniti verranno configurati per attivare una compilazione di integrazione continua solo per il ramo master . Le nuove richieste pull continueranno a essere compilate usando il trigger di richiesta pull. Per altri dettagli, vedere la documentazione relativa ai trigger della pipeline di compilazione.
trigger:
- main
Change build numbers, upload and download artifacts in forked repository builds (Modificare i numeri di build e caricare e scaricare artefatti nelle build dei repository con fork)
Fino ad ora, le compilazioni di convalida delle richieste pull per i repository fork non hanno l'autorizzazione per caricare e scaricare gli artefatti di compilazione o modificare il numero di build. Le autorizzazioni sono state limitate perché non erano sicure per rendere disponibili le autorizzazioni con ambito più ampio dell'agente durante una compilazione fork attivata da un utente sconosciuto. Con questo aggiornamento, l'ambito delle autorizzazioni dell'agente è in modo che la pipeline possa eseguire queste operazioni, se necessario.
Di seguito è riportato un esempio di YAML che è possibile usare per archiviare gli output di compilazione in un file tar.gz nella directory di staging dell'artefatto. Pubblica quindi l'output in Azure Pipelines da associare alla compilazione. Per altri dettagli, vedere la documentazione sull'attività Archivia file e l'attività Pubblica artefatti di compilazione.
- task: ArchiveFiles@2
inputs:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: '$(build.sourcesDirectory)/target'
archiveFile: '$(build.artifactStagingDirectory)/$(build.buildId).tar.gz'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(build.artifactStagingDirectory)'
New option in Publish Test Results task to fail build on failed tests (Nuova opzione nell'attività Pubblica i risultati dei test per completare come non riuscita la build in caso di test non riusciti)
L'attività Pubblica risultati test viene usata per pubblicare i risultati dei test in Azure Pipelines quando i test vengono eseguiti usando il test runner scelto. Fino ad ora, l'attività pubblica semplicemente i risultati da un file di risultati e non ha esito negativo anche se il file dei risultati contiene test non superati. Ciò significa che è stato necessario scrivere passaggi personalizzati per avere esito negativo della compilazione in caso di errori di test.
È stata aggiunta un'opzione nell'attività per non riuscire la compilazione se sono presenti test non riusciti.
Aggiornamenti al portale di Azure per la creazione di un progetto Azure DevOps
Il portale di Azure include ora funzionalità aggiuntive per supportare più framework e servizi durante la creazione di un progetto Azure DevOps. Di seguito è riportato l'elenco delle modifiche per ogni area.
Framework
Azure IoT è un servizio completamente gestito che offre intelligenza cloud in locale nei dispositivi IoT multipiattaforma. A questo punto, è possibile creare un progetto Azure DevOps dal portale di Azure e usare Simple IoT come framework dell'applicazione.
Servizio
In precedenza, il flusso di lavoro Crea progetto Azure DevOps nel portale di Azure supportava solo l'opzione Crea nuovo come opzione per il servizio Kubernetes. È stata aggiunta una nuova opzione per consentire di scegliere un cluster esistente come destinazione di distribuzione per la configurazione della pipeline.
Usare il portale di Azure per configurare e distribuire in un database CosmosDB
Attualmente, è possibile usare il flusso di lavoro del progetto Azure DevOps nel portale di Azure per configurare le pipeline di compilazione e rilascio per un repository Git. È ora possibile eseguire la distribuzione in App Web di Azure per contenitori (Linux) o servizio Azure Kubernetes con un cosmosDB di cui è stato effettuato il provisioning come database che supporta le app in queste destinazioni. Questa funzionalità è attualmente disponibile per tutti i modelli Node.js e si prevede di aggiungere il supporto per altri modelli in futuro.
Configurare le build e le pipeline di versione per Funzioni nel portale di Azure
È ora possibile usare il flusso di lavoro del progetto Azure DevOps nel portale di Azure per configurare le pipeline di compilazione e versione per il repository Git che distribuiscono Funzioni di Azure 2.0 (Windows). Questa è la funzionalità disponibile per Node.js e .NET Core.
Azure Artifacts
Package usage stats (Statistiche sull'utilizzo di pacchetti)
Fino ad ora, Azure Artifacts non ha fornito un modo per misurare l'utilizzo o la popolarità dei pacchetti. Con questo aggiornamento, è stato aggiunto un conteggio dei download e degli utenti sia all'elenco dei pacchetti che alle pagine dei dettagli del pacchetto. È possibile visualizzare le statistiche sul lato destro di una delle due pagine.
Wiki
Carattere monospaced per l'editor di Wiki Markdown
Con l'introduzione di tipi di carattere monospaced per l'editor Markdown wiki, la leggibilità non è più una sfida. L'origine Markdown è pulita e facile da leggere. Questa funzionalità è stata assegnata in ordine di priorità in base a questo ticket di suggerimento.
Titoli pagina Wiki in grassetto
In precedenza, sia il titolo della pagina Wiki che l'intestazione 1 sembravano uguali. Questo ha reso difficile per i lettori distinguere tra loro. Ora, i titoli delle pagine Wiki sono stati resi in grassetto e distinti dall'intestazione 1. Questa funzionalità è stata assegnata in ordine di priorità in base a questo ticket di suggerimento.
Insert Markdown table (Inserire la tabella di Markdown)
La creazione di tabelle Markdown in un wiki non è più una sfida. È ora possibile aggiungere una tabella Markdown con un clic di un pulsante. Questa funzionalità è stata assegnata in ordine di priorità in base a questo ticket di suggerimento di funzionalità.
Incorporare i risultati delle query di Azure Boards in Wiki
È ora possibile incorporare i risultati delle query di Azure Boards in una pagina wiki sotto forma di tabella. L'immagine seguente mostra un esempio di una pagina wiki con un elenco di tutte le funzionalità rilasciate e tutti i bug attivi nello sprint corrente incorporato nel wiki. Il contenuto visualizzato nella pagina usa una query dell'elemento di lavoro esistente. Con questa nuova funzionalità è possibile creare contenuto dinamico e non è necessario preoccuparsi di aggiornare manualmente la pagina wiki.
I risultati della query possono essere aggiunti in due passaggi
- Fare clic sul pulsante "Risultati query" sulla barra degli strumenti di modifica.
- Selezionare la query richiesta e fare clic sul pulsante "Inserisci".
I risultati della query possono ora essere visualizzati sotto forma di tabella dopo aver salvato la pagina.
Questa opzione è stata assegnata in ordine di priorità in base ai suggerimenti sulle funzionalità seguenti:
Passaggi successivi
Nota
Queste funzionalità verranno implementate nelle prossime due o tre settimane.
Leggere le nuove funzionalità seguenti e passare ad Azure DevOps per provare manualmente.
Come fornire commenti e suggerimenti
Ci piacerebbe sentire ciò che pensi a queste funzionalità. Usare il menu commenti e suggerimenti per segnalare un problema o fornire un suggerimento.
È anche possibile ottenere consigli e risposte alle domande della community su Stack Overflow.
Grazie,
Jeremy Epling