ContainerStructureTest@0 - Kapsayıcı Yapısı Test v0 görevi

Bir görüntünün yapısını dört test kategorisine göre doğrulamak için kapsayıcı yapısı testini (https://github.com/GoogleContainerTools/container-structure-test) kullanır: komut testleri, dosya varlığı testleri, dosya içeriği testleri ve meta veri testleri.

Syntax

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

Girişler

dockerRegistryServiceConnection - Docker kayıt defteri hizmeti bağlantısı
string. Gereklidir.

Bir Docker kayıt defteri hizmeti bağlantısı belirtin. Kayıt defteriyle kimlik doğrulaması gerektiren komutlar için gereklidir.


repository - Kapsayıcı deposu
string. Gereklidir.

: Deponun adı.


tag - Etiket
string. Varsayılan değer: $(Build.BuildId).

Etiketi, docker kayıt defteri hizmeti bağlantısından görüntü çekerken kullanılır.


configFile - Yapılandırma dosyası yolu
string. Gereklidir.

.yaml veya .json dosya biçimlerinde kapsayıcı yapısı testleri içeren yapılandırma dosyası yolu.


testRunTitle - Test çalıştırması başlığı
string.

Test Çalıştırması için bir ad belirtin.


failTaskOnFailedTests - Test hataları varsa başarısız görev
boolean. Varsayılan değer: false.

Herhangi bir test hatası varsa görevi başarısız olur. Test hataları algılanırsa görevi başarısız yapmak için bu seçeneği işaretleyin.


Görev denetim seçenekleri

Tüm görevlerde görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Bu görev kapsayıcı yapısı testlerini çalıştırmanıza ve test sonuçlarını Azure Pipelines'da yayımlamanıza yardımcı olur ve kapsamlı bir test raporlama ve analiz deneyimi sağlar.

Not

Bu erken bir önizleme özelliğidir. Yaklaşan sprint'lerde daha fazla gelecek özellik kullanıma sunulacaktır.

Kapsayıcı Yapısı Testleri, kapsayıcı görüntüsünün yapısını doğrulamak için güçlü bir çerçeve sağlar. Bu testler bir görüntüdeki komutların çıkışını denetlemek ve dosya sisteminin meta verilerini ve içeriğini doğrulamak için kullanılabilir. Testler tek başına ikili dosya üzerinden veya Docker görüntüsü aracılığıyla çalıştırılabilir.

Bu çerçeve içindeki testler YAML veya JSON yapılandırma dosyası aracılığıyla belirtilir. Tek bir test çalıştırmasında birden çok yapılandırma dosyası belirtilebilir. Yapılandırma dosyası test çalıştırıcısı tarafından yüklenir ve testler sırayla yürütülür. Bu yapılandırma dosyası içinde dört tür test yazılabilir:

  • Komut Testleri (verilen belirli bir komutun çıkışını/hatalarını test etme)
  • Dosya Varlığı Testleri (bir dosyanın görüntünün dosya sisteminde mevcut olduğundan veya mevcut olmadığından emin olma)
  • Dosya İçerik Testleri (görüntünün dosya sistemindeki dosyaların belirli içerikleri içerdiğinden veya içermediğinden emin olmak)
  • Meta Veri Testi, tekil (belirli kapsayıcı meta verilerinin doğru olduğundan emin olmak)

Derleme, Test etme ve Yayımlama Testi

Kapsayıcı yapısı test görevi hem klasik işlem hattına hem de YAML tabanlı işlem hatlarına & birleşik işlem hattına (çok aşamalı) eklenebilir.

Yeni YAML tabanlı birleşik işlem hattında, pencerede görev arayabilirsiniz.

Birleştirilmiş İşlem Hattında Kapsayıcı Testi

Görev eklendikten sonra yapılandırma dosyası yolunu, docker kayıt defteri hizmeti bağlantısını, kapsayıcı deposunu ve gerekirse etiketi ayarlamanız gerekir. Yaml tabanlı işlem hattında görev girişi oluşturulur.

YAML Tabanlı İşlem Hattında Kapsayıcı Testi

YAML dosyası

YAML dosyası

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

Test raporunu görüntüleme

Görev yürütüldükten sonra, raporun tamamını görüntülemek için doğrudan test sekmesine gidebilirsiniz. Yayımlanan test sonuçları, işlem hattı özetindeki Testler sekmesinde görüntülenir ve işlem hattı kalitesini ölçmenize, izlenebilirliği gözden geçirmenize, hataları gidermenize ve hata sahipliğini yönlendirmenize yardımcı olur.

Test Raporlama Sayfası

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.144.0 veya üzeri
Görev kategorisi Test etme
Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.0.0 veya üzeri
Görev kategorisi Test etme