Condividi tramite


ContainerStructureTest@0 - Attività Test struttura contenitore v0

Usa container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) per convalidare la struttura di un'immagine in base a quattro categorie di test: test di comando, test di esistenza dei file, test di contenuto dei file e test dei metadati.

Sintassi

# Container Structure Test v0
# Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests.
- task: ContainerStructureTest@0
  inputs:
  # Container Repository
    dockerRegistryServiceConnection: # string. Required. Docker registry service connection. 
    repository: # string. Required. Container repository. 
    #tag: '$(Build.BuildId)' # string. Tag. Default: $(Build.BuildId).
    configFile: # string. Required. Config file path. 
    #testRunTitle: # string. Test run title. 
    #failTaskOnFailedTests: false # boolean. Fail task if there are test failures. Default: false.

Input

dockerRegistryServiceConnection - Connessione al servizio del Registro di sistema Docker
string. Obbligatorio.

Specificare una connessione al servizio del Registro di sistema Docker. Obbligatorio per i comandi che devono eseguire l'autenticazione con un registro.


repository - Repository di contenitori
string. Obbligatorio.

Nome del repository.


tag - Tag
string. Valore predefinito: $(Build.BuildId).

Il tag viene usato per eseguire il pull dell'immagine dalla connessione al servizio del Registro di sistema Docker.


configFile - Percorso del file di configurazione
string. Obbligatorio.

Percorso del file di configurazione che contiene test della struttura del contenitore, in formati di file con estensione yaml o json.


testRunTitle - Titolo esecuzione test
string.

Specificare un nome per l'esecuzione del test.


failTaskOnFailedTests - Attività non riuscita in caso di errori di test
boolean. Valore predefinito: false.

L'attività ha esito negativo in caso di errori di test. Selezionare questa opzione per non riuscire l'attività se vengono rilevati errori di test.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

Questa attività consente di eseguire test della struttura dei contenitori e pubblicare i risultati dei test in Azure Pipelines e offre un'esperienza completa di creazione di report e analisi dei test.

Nota

Si tratta di una funzionalità di anteprima anticipata. Altre funzionalità future verranno implementate nei prossimi sprint.

I test della struttura dei contenitori forniscono un framework potente per convalidare la struttura di un'immagine del contenitore. Questi test possono essere usati per controllare l'output dei comandi in un'immagine, nonché per verificare i metadati e il contenuto del file system. I test possono essere eseguiti tramite un file binario autonomo o tramite un'immagine Docker.

I test all'interno di questo framework vengono specificati tramite un file di configurazione YAML o JSON. È possibile specificare più file di configurazione in una singola esecuzione di test. Il file di configurazione verrà caricato in dal test runner, che eseguirà i test in ordine. All'interno di questo file di configurazione è possibile scrivere quattro tipi di test:

  • Test dei comandi (test dell'output o dell'errore di un comando specifico emesso)
  • Test di esistenza dei file (verifica che un file sia o non sia presente nel file system dell'immagine)
  • Test contenuto file (verificando che i file nel file system dell'immagine contengano o non contengano contenuti specifici)
  • Test dei metadati, singolare (verifica che determinati metadati del contenitore siano corretti)

Test di compilazione, test e pubblicazione

L'attività di test della struttura del contenitore può essere aggiunta nella pipeline classica e nella pipeline unificata (multi-fase) & pipeline basate su YAML.

Nella nuova pipeline unificata basata su YAML è possibile cercare l'attività nella finestra.

Test del contenitore nella pipeline unificata

Dopo aver aggiunto l'attività, è necessario impostare il percorso del file di configurazione, la connessione al servizio di registrazione docker, il repository del contenitore e il tag, se necessario. Viene creato l'input dell'attività nella pipeline basata su yaml.

Test del contenitore nella pipeline basata su YAML

File YAML

File YAML

steps:
- task: ContainerStructureTest@0
  displayName: 'Container Structure Test '
  inputs:
    dockerRegistryServiceConnection: 'Container_dockerHub'
    repository: adma/hellodocker
    tag: v1
    configFile: /home/user/cstfiles/fileexisttest.yaml

Visualizzare il report di test

Dopo aver eseguito l'attività, è possibile passare direttamente alla scheda test per visualizzare il report completo. I risultati dei test pubblicati vengono visualizzati nella scheda Test nel riepilogo della pipeline e consentono di misurare la qualità della pipeline, esaminare la tracciabilità, risolvere gli errori e gestire gli errori.

Pagina Report di test

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.144.0 o versione successiva
Categoria attività Test
Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.0.0 o versione successiva
Categoria attività Test