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:

Azure Boards:

Azure Pipelines:

Azure Artifacts:

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.

Organize work using the Basic process.

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.

GitHub Enterprise support in the pipeline wizard.

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.

Edit and save the YAML.

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.

Display status for each pipeline job.

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.

Default authorization for YAML resources.

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.

Azure AD authentication support for Azure SQL task.

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.

Grafana annotations service hook.

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.

Query Azure Monitor alerts tasks.

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.

Inline input of spec file in Deploy to Kubernetes task.

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.

Docker CLI Installer task.

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.

Fail the build if there are any failed tests.

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.

Use the Simple IoT as the application framework.

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.

Choose an existing cluster as the deployment target for the pipeline setup.

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.

Use the Azure Portal to set up and deploy to an Azure Cosmos DB database.

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.

Set up builds and release pipelines for Functions in Azure portal.

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.

Package usage stats.

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.

Monospaced font for Wiki Markdown editor.

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.

Bold Wiki page titles.

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à.

Insert Markdown table.

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.

Embed Azure Boards query results in Wiki.

I risultati della query possono essere aggiunti in due passaggi

  1. Fare clic sul pulsante "Risultati query" sulla barra degli strumenti di modifica.

Select the Query Results button from the edit toolbar.

  1. 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.

View results of the query.

Questa opzione è stata assegnata in ordine di priorità in base ai suggerimenti sulle funzionalità seguenti:

  1. Query sugli elementi di lavoro nel wiki
  2. Aggiungere contenuto wiki dinamico

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.

Make a suggestion

È anche possibile ottenere consigli e risposte alle domande della community su Stack Overflow.

Grazie,

Jeremy Epling