jobs.job.strategy definíció
Végrehajtási stratégia ehhez a feladathoz.
Megvalósítások
Implementálás | Description |
---|---|
stratégia: mátrix, maxParallel | Mátrixfeladat-stratégia. |
stratégia: párhuzamos | Párhuzamos feladatstratégia. |
stratégia: mátrix, maxParallel
A mátrix használata egy feladat másolatait hozza létre, mindegyik különböző bemenettel. Ezek a példányok különböző konfigurációk vagy platformverziók teszteléséhez hasznosak.
strategy:
matrix: # Matrix defining the job strategy; see the following examples.
{ string1: { string2: string3 }
maxParallel: string # Maximum number of jobs running in parallel.
Tulajdonságok
matrix
{ string1: { string2: string3 }.
A feladatstratégiát meghatározó mátrix; lásd az alábbi példákat.
maxParallel
Karakterlánc.
Párhuzamosan futó feladatok maximális száma.
Megjegyzések
strategy:
matrix: { string1: { string2: string3 } }
maxParallel: number
A mátrixban a sztring1 minden előfordulásához létre kell hozni a feladat másolatát. A sztring1 név a másolat neve, és hozzá van fűzve a feladat nevéhez. A karakterlánc2 minden előfordulásához elérhető a feladat számára egy string2 nevű, karakterlánc3 értékű változó.
Megjegyzés
A mátrixkonfigurációs nevek csak egyszerű latin betűs betűket (A-Z és a-z), számjegyeket (0-9) és aláhúzásjeleket (_
) tartalmazhatnak.
Az oszlopok nevének betűvel kell kezdődnie.
Emellett a hosszuknak legalább 100 karakternek kell lennie.
Az opcionális maxParallel
kulcsszó az egyidejűleg futtatható mátrixlábak maximális számát határozza meg.
Ha maxParallel
nincs meghatározva, vagy 0-ra van állítva, a rendszer nem alkalmaz korlátot.
Ha maxParallel
nincs meghatározva, a rendszer nem alkalmaz korlátot.
Megjegyzés
A matrix
szintaxis nem támogatja az automatikus feladatskálázást, de a kulcsszó használatával each
hasonló funkciókat valósíthat meg. Példa: kifejezések.
Példák
Több platformra való buildelés
Ez a példa egy feladatstratégiát matrix
használ, amely több platformra épít.
# Build NodeJS Express app using Azure Pipelines
# https://learn.microsoft.com/azure/devops/pipelines/ecosystems/javascript?view=azure-devops
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
Ez a folyamat szkriptet használ az egyes platformok integrált szkript-értelmezőjében való futtatáshoz: Bash macOS és Linux rendszeren, CMD Windows rendszeren. További információt a többplatformos szkriptek című témakörben talál.
Több platformra építhet saját üzemeltetésű és Microsoft által üzemeltetett ügynökök használatával
Az alábbi példa egy saját üzemeltetésű ügynökre és egy Microsoft által üzemeltetett ügynökre is épül egy és egy Pool
változó megadásávalvmImage
, például az alábbi példában. A bérelt ügynök esetében adja meg az Azure Pipelines
készletnevet, és a saját üzemeltetésű ügynökök esetében hagyja üresen a vmImage
mezőt. A saját üzemeltetésű ügynök üres vmImage
mezője miatt néhány szokatlan bejegyzés jelenhet meg a naplókban, de ezek nem lesznek hatással a folyamatra.
strategy:
matrix:
microsofthosted:
poolName: Azure Pipelines
vmImage: ubuntu-latest
selfhosted:
poolName: FabrikamPool
vmImage:
pool:
name: $(poolName)
vmImage: $(vmImage)
steps:
- checkout: none
- script: echo test
Buildelés különböző Python-verziók használatával
jobs:
- job: Build
strategy:
matrix:
Python35:
PYTHON_VERSION: '3.5'
Python36:
PYTHON_VERSION: '3.6'
Python37:
PYTHON_VERSION: '3.7'
maxParallel: 2
Ez a mátrix három feladatot hoz létre: "Python35-build", "Python36-build" és "Python37-build". Minden feladaton belül elérhető egy PYTHON_VERSION nevű változó. A "Build Python35" (Python35 buildelése) változó értéke "3.5". Hasonlóképpen a "3.6" értékre van állítva a "Python36-buildben". Egyszerre csak két feladat fut.
stratégia: párhuzamos
A párhuzamos feladatstratégia határozza meg, hogy egy feladat hány duplikátumát kell futtatni.
strategy:
parallel: string # Run the job this many times.
Tulajdonságok
parallel
Karakterlánc.
Futtassa a feladatot ennyiszer.
Megjegyzések
A párhuzamos feladatstratégia nagy tesztmátrixok szeletelése esetén hasznos. A Visual Studio tesztfeladata bemutatja, hogyan oszthatja el a tesztterhelést az ütemezett feladatok száma között.
Példák
jobs:
- job: SliceItFourWays
strategy:
parallel: 4
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: