Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu iş için yürütme stratejisi.
Bu tanıma başvuran tanımlar: işlem hattı, jobs.job
Uygulamalar
| Uygulama | Açıklama |
|---|---|
| stratejisi: matris, maxParallel | Matris iş stratejisi. |
| stratejisi: paralel | Paralel iş stratejisi. |
Açıklamalar
Sonraki bir işteki bir işten değişkenlere erişmek için bkz. çok işli bir çıkış değişkeni ayarlama.
strateji: matris, maxParallel
Matris kullanımı, her biri farklı girişe sahip bir işin kopyalarını oluşturur. Bu kopyalar, farklı yapılandırmalara veya platform sürümlerine göre test için kullanışlıdır.
strategy:
matrix: # Matrix defining the job strategy; see the following examples.
{ string1: { string2: string3 }
maxParallel: string # Maximum number of jobs running in parallel.
Özellikler
matrix { string1: { string2: string3 }.
İş stratejisini tanımlayan Matrisi; aşağıdaki örneklere bakın.
maxParallel dize.
Paralel çalışan iş sayısı üst sınırı.
Açıklamalar
strategy:
matrix: { string1: { string2: string3 } }
maxParallel: number
matriste dize1 her oluşumu için işin bir kopyası oluşturulur. Dize1 adı kopyanın adıdır ve işin adına eklenir. dizesi2her oluşumu için, dize3 değeriyle string2 adlı bir değişken iş tarafından kullanılabilir.
Uyarı
Matris yapılandırma adları yalnızca temel Latin alfabesi harflerini (A-Z ve a-z), basamakları (0-9) ve alt çizgilerini (_) içermelidir.
Bunlar bir harf ile başlamalıdır.
Ayrıca uzunlukları 100 karakter veya daha az olmalıdır.
İsteğe bağlı maxParallel anahtar sözcüğü, aynı anda çalıştırılacak en fazla eş zamanlı matris bacak sayısını belirtir.
maxParallel belirtilmezse veya 0 olarak ayarlanırsa, hiçbir sınır uygulanmaz.
Uyarı
matrix söz dizimi otomatik iş ölçeklendirmeyi desteklemez, ancak each anahtar sözcüğünü kullanarak benzer işlevleri uygulayabilirsiniz. Bir örnek için bkz. ifadeleri.
Örnekler
Birden çok platformda derleme
Bu örnekte, birden çok platformda derlemek için matrix bir iş stratejisi kullanılmaktadır.
# Build NodeJS Express app using Azure Pipelines
# https://learn.microsoft.com/azure/devops/pipelines/ecosystems/javascript
strategy:
matrix:
linux:
imageName: 'ubuntu-latest'
mac:
imageName: 'macOS-latest'
windows:
imageName: 'windows-latest'
pool:
vmImage: $(imageName)
steps:
- task: NodeTool@0
inputs:
versionSpec: '8.x'
- script: |
npm install
npm test
- task: PublishTestResults@2
inputs:
testResultsFiles: '**/TEST-RESULTS.xml'
testRunTitle: 'Test results for JavaScript'
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/*coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
includeRootFolder: false
- task: PublishBuildArtifacts@1
Bu işlem hattı, her platformun integral betik yorumlayıcısında çalıştırmak için betik kullanır: macOS ve Linux üzerinde Bash, Windows'ta CMD. Daha fazla bilgi edinmek için bkz. çok platformlu betikler .
Şirket içinde barındırılan ve Microsoft tarafından barındırılan aracıları kullanarak birden çok platformda derleme
Aşağıdaki örnek, aşağıdaki örnekte olduğu gibi hem bir vmImage hem de Pool değişkeni belirterek hem şirket içinde barındırılan aracı hem de Microsoft tarafından barındırılan aracı üzerinde derlenmektedir. Barındırılan aracı için havuz adı olarak Azure Pipelines belirtin ve şirket içinde barındırılan aracılar için vmImage'yi boş bırakın. Şirket içinde barındırılan aracı için boş vmImage günlüklerde bazı olağan dışı girişlere neden olabilir, ancak işlem hattını etkilemez.
strategy:
matrix:
microsofthosted:
poolName: Azure Pipelines
vmImage: ubuntu-latest
selfhosted:
poolName: FabrikamPool
vmImage:
pool:
name: $(poolName)
vmImage: $(vmImage)
steps:
- checkout: none
- script: echo test
Farklı Python sürümleri kullanarak derleme
jobs:
- job: Build
strategy:
matrix:
Python35:
PYTHON_VERSION: '3.5'
Python36:
PYTHON_VERSION: '3.6'
Python37:
PYTHON_VERSION: '3.7'
maxParallel: 2
Bu matris üç iş oluşturur: "Python35'i derleme", "Python36'yı derleme" ve "Python37'yi derleme." Her işin içinde PYTHON_VERSION adlı bir değişken kullanılabilir. "Python35 derleme" içinde değişken "3.5" olarak ayarlanır. Benzer şekilde "Python36 Derleme" içinde "3.6" olarak ayarlanır. Aynı anda yalnızca iki iş çalışır.
strateji: paralel
Paralel iş stratejisi, bir işin kaç yinelemesinin çalıştırılması gerektiğini belirtir.
strategy:
parallel: string # Run the job this many times.
Özellikler
parallel dize.
İşi bu kadar çok kez çalıştırın.
Açıklamalar
Paralel iş stratejisi, büyük bir test matrisini dilimlemede kullanışlıdır. Visual Studio Test görevi test yükünün zamanlanmış iş sayısına nasıl bölüneceğini anlar.
Örnekler
jobs:
- job: SliceItFourWays
strategy:
parallel: 4