Condividi tramite


Sicurezza avanzata e flussi di lavoro della pipeline

Con questo sprint si sta migliorando il flusso di lavoro DevOps con maggiore visibilità sulla sicurezza e flussi di lavoro della pipeline semplificati. GitHub Advanced Security include ora il rilevamento dettagliato dell'abilitazione per analisi delle dipendenze, l'analisi del codicee l'analisi dei segreti, offrendo informazioni più approfondite sulla copertura della sicurezza dell'organizzazione.

Inoltre, siamo lieti di introdurre miglioramenti incentrati sulla pipeline, tra cui nuove funzioni di espressione YAML e controlli espansi per le attività di convalida manuale, consentendo di creare flussi di lavoro più efficienti e sicuri.

Consulta le note sulla versione per dettagli.

Sicurezza avanzata di GitHub per Azure DevOps

Azure Boards:

Azure Repos

Azure Pipelines

Piani di test

Sicurezza avanzata di GitHub per Azure DevOps

Copertura della panoramica della sicurezza specifica degli strumenti

La panoramica della sicurezza in GitHub Advanced Security per Azure DevOps offre ora una suddivisione dettagliata dello stato di abilitazione per ogni strumento di analisi, tra cui l'analisi delle dipendenze, l'analisi del codicee l'analisi dei segreti . Questo miglioramento consente di visualizzare gli stati di abilitazione con granularità fine in tutti i repository dell'organizzazione.

Per ulteriori informazioni, vedere la Panoramica della Sicurezza di per Sicurezza Avanzata.

Azure Boards

Integrazione di Azure Boards con GitHub Enterprise Cloud con residenza dei dati (anteprima)

Nota

Questa funzionalità è attualmente in anteprima. Se siete interessati a provare l'integrazione di Boards con GitHub Enterprise Cloud con la residenza dei dati, mandateci un'email.

Azure Boards supporta ora l'integrazione con le organizzazioni GitHub Enterprise Cloud con residenza dei dati abilitata. Questo aggiornamento è allineato con annuncio di settembre 2024 di GitHub l'introduzione della residenza dei dati per i clienti di Enterprise Cloud, a partire da quelli nell'Unione europea (UE).

Per connettere un progetto di Azure Boards all'organizzazione GitHub Enterprise Cloud con residenza dei dati:

  1. Creare una nuova connessione in Azure Boards.
  1. Seleziona l'opzione GitHub Enterprise Cloud, con residenza dei dati.

Azure Repos

Estrazione di tipo sparse per Azure Repos

Il comando git sparse-checkout è ora supportato nell'attività di estrazione YAML, insieme al filtro di clonazione parziale , per migliorare le prestazioni di estrazione del repository. È possibile usare le proprietà sparseCheckoutDirectories e sparseCheckoutPatterns.

L'impostazione sparseCheckoutDirectories abilita la modalità cono, in cui il processo di checkout usa la corrispondenza delle directory. In alternativa, è possibile impostare sparseCheckoutPatterns che attiva la modalità senza cono, consentendo corrispondenza di modelli più complessi.

Se entrambe le proprietà sono impostate, l'agente inizializza la modalità cono con l'allineamento alla directory. Se nessuna delle proprietà è specificata nell'attività di estrazione, il processo di estrazione di tipo sparse è disabilitato. Eventuali problemi riscontrati durante l'esecuzione del comando determinano il fallimento dell'attività di checkout.

Esempio YAML per la modalità "sparse checkout cone"

    checkout: repo
    sparseCheckoutDirectories: src

Esempio YAML per la modalità di estrazione di tipo sparse non cono:


   checkout: repo
   sparseCheckoutPatterns: /* !/img 

Importante

La funzionalità sparse checkout richiede l'agente versione 3.248.0 (v4.248.0 per .NET 8) o versioni successive.

È possibile trovare l'agente nella pagina di rilascio delle versioni .

Fare in modo che i criteri tra repository facciano distinzione tra maiuscole e minuscole

In precedenza, l'anteprima del candidato ramo per i criteri trasversali tra repository visualizzava i risultati senza distinzione tra maiuscole e minuscole, nonostante la corrispondenza dei rami fosse sensibile alle maiuscole. Questa incoerenza ha creato un potenziale disallineamento, in quanto sembrava che alcuni rami fossero protetti quando non lo erano. Per risolvere questo problema, è stata aggiornata l'anteprima del modello di ramo per allinearsi al comportamento con distinzione tra maiuscole e minuscole dell'applicazione dei criteri.

Precedentemente:

Dopo:

Azure Pipelines

Nuove funzioni di espressione della pipeline

Le funzioni di espressione della pipeline consentono di scrivere pipeline YAML avanzate. In questo sprint sono state introdotte due nuove funzioni:

  • iif(condition, value_when_true, value_when_false) che restituisce value_when_true quando condition valuta true o value_when_false, altrimenti

  • trim(string) che restituisce una nuova stringa in cui gli spazi vuoti all'inizio e alla fine della stringa vengono rimossi

Ad esempio, è possibile usare la funzione iif per selezionare dinamicamente un pool per l'esecuzione della pipeline. Se si vogliono compilare richieste pull usando il pool di Azure Pipelines, ma tutte le altre esecuzioni devono usare un pool DevOps gestito, è possibile scrivere la pipeline seguente.

variables:
  poolToUse: ${{ iif(eq(variables['Build.Reason'], 'PullRequest'), 'Azure Pipelines', 'ManagedDevOpsPool')}}

stages:
- stage: build
  pool: ${{variables.poolToUse}}
  jobs:
  - job:
    steps:   
    - task: DotNetCoreCLI@2
      inputs:
        command: 'build'

È possibile usare la funzione trim per rendere il file YAML più resiliente all'input dell'utente. Nella pipeline seguente, ad esempio, viene usata la funzione trim per assicurarsi che il nome della fase non inizi con spazi vuoti.

parameters:
- name: regions
  type: string
  default: '  wus1,   wus2, wus3,wus4'

stages:
- ${{ each region in split(parameters.regions, ',')}}:
  - stage: stage_${{trim(region)}}
    displayName: Deploy to ${{trim(region)}}
    jobs:
    - job: deploy
      steps:
      - script: ./deploy.sh ${{trim(region)}}

Miglioramenti all'attività ManualValidation

L'attività ManualValidation ti consente di sospendere l'esecuzione di una pipeline e di attendere un intervento manuale. Uno scenario per l'uso di questa attività è il test manuale.

Per aumentare la sicurezza della tua pipeline, potresti voler limitare chi può completare l'attività e riprendere la corsa della pipeline. A questo scopo, verrà introduttiva una nuova versione dell'attività che fornisce due parametri aggiuntivi:

  • approvers: limitare chi può completare l'attività a un set predefinito di utenti/gruppi di sicurezza/team

  • allowApproversToApproveTheirOwnRuns: impedire all'utente che ha accodato l'esecuzione della pipeline di riprenderla

Ad esempio, il frammento YAML seguente limita il set di persone che possono riprendere l'esecuzione della pipeline ai membri del gruppo Release Approvers, ma non dall'utente che ha attivato l'esecuzione della pipeline.

- task: ManualValidation@1
  inputs:
    notifyUsers: 'Release Approvers'
    approvers: 'Release Approvers'
    allowApproversToApproveTheirOwnRuns: false

Nella proprietà approvers è possibile usare i valori seguenti (delimitati da virgole):

  • Indirizzo email
  • Gruppo di autorizzazioni,
  • Gruppo di progetto
  • [ProjectName][Gruppo di autorizzazioni],
  • [Organizzazione][Gruppo di autorizzazioni],
  • [NomeProgetto][Team di Progetto]

Piani di test

Correzioni di bug di Piani di test di Azure

Con questo sprint sono stati apportati aggiornamenti ai piani di test di Azure per risolvere diversi bug e migliorare l'usabilità. Ecco cosa è stato risolto:

  • Risultati dei passaggi condivisi visibili: Corretto un bug in cui i risultati dei passaggi condivisi non venivano visualizzati nell'editor di query quando si accede ai test case nel New Boards Hub.

  • Sessioni in modalità stakeholder migliorate: Risolto un problema nell'estensione test e feedback che impediva agli utenti con accesso stakeholder di avviare le sessioni.

  • Copia del piano di test di Cleaner. È stato risolto un problema a causa del quale i requisiti venivano duplicati durante la copia di un piano di test utilizzando l'opzione "Riferimento a casi di test esistenti".

Passaggi successivi

Nota

Queste funzionalità verranno implementate nelle prossime due o tre settimane.

Passare ad Azure DevOps e dare un'occhiata.

Come fornire commenti e suggerimenti

Ci piacerebbe sentire ciò che pensi a queste funzionalità. Usare il menu Guida per segnalare un problema o fornire un suggerimento.

Creare un suggerimento

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

Grazie

Silviu Andrica