Azure Pipelines - Aggiornamento sprint 181

Funzionalità

Istruzione `uses` per la dichiarazione anticipata delle risorse

Quando una pipeline esegue un processo in un agente, a tale agente viene assegnato un token di accesso per richiamare le API REST di Azure Pipelines e per scaricare risorse come i repository. Per le pipeline YAML, di recente è stata aggiunta un'impostazione per limitare il token solo ai repository effettivamente utilizzati in un processo. Tuttavia, alcuni clienti utilizzavano repository senza utilizzare esplicitamente un passaggio checkout, ad esempio, se utilizzavano un passaggio di script per chiamare direttamente Git. Questi clienti non hanno potuto abilitare la funzionalità di limitazione dei token, perché Azure Pipelines non è riuscito a determinare con precisione i repository necessari per il processo.

Con questo aggiornamento è stato aggiunto un modo alternativo per indicare ad Azure Pipelines che un processo vuole usare un repository senza usare il checkout passaggio . È invece possibile usare la nuova uses parola chiave, come illustrato di seguito:

resources:
  repositories:
  - repository: myrepo
    type: git
    name: MyProject/MyRepo

jobs:
- job: myjob
  uses:
    repositories:
    - myrepo
  steps:
  # without the preceding "uses" statement, if you have the
  # new limit-repositories feature turned on, then Azure Pipelines
  # won't include this repo in the access token and you'll
  # get an access error at runtime (also, in a real pipeline
  # you must include the auth token header as an argument to Git)
  - script: git clone https://dev.azure.com/MyOrg/MyProject/_git/MyRepo

Questa funzionalità risolve anche un problema correlato (anche se meno comune). Se si usa la matrix parola chiave per generare più processi e questi processi usano pool specificati nel passaggio matrice, è possibile che si siano verificati problemi durante l'autorizzazione di tali pool per la pipeline. La causa radice è la stessa: poiché le matrici vengono calcolate in fase di esecuzione, il sistema di autorizzazione delle risorse iniziale non è in grado di determinare in modo accurato i pool usati. Usando uses, è possibile dichiarare i pool che le tue attività utilizzeranno affinché possano essere autorizzati in anticipo.

jobs:
- job: mtrx
  strategy:
    matrix:
      windows:
        mypoolname: Private-Windows
      mac:
        mypoolname: Private-Mac
  pool: $(mypoolname)
  # without the following "uses" statement, "pool" won't see
  # the pool names until it's too late, and you'll get an error
  # at runtime
  uses:
    pools:
    - Private-Windows
    - Private-Mac

Convalida manuale delle pipeline YAML

Con l'attività Convalida manuale appena rilasciata è possibile sospendere una pipeline YAML a metà fase. In questo modo è possibile eseguire attività manuali o offline e quindi riprendere (o rifiutare) l'esecuzione. Ciò è particolarmente utile negli scenari in cui si vuole sospendere una pipeline e consentire a un peer di convalidare le impostazioni di configurazione, compilare il pacchetto e così via prima di passare a un processo a esecuzione prolungata e a elevato utilizzo di calcolo. Ulteriori informazioni.


convalida manuale

Passaggi successivi

Annotazioni

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à. Usa il menu di aiuto per segnalare un problema o fornire un suggerimento.

Inviare un suggerimento

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