Megosztás a következőn keresztül:


Számok futtatása és összeállítása

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Ez a cikk bemutatja, hogyan épülnek fel az Azure Pipelines-buildszámok és a futtatási számok, és hogyan szabhatja testre őket a folyamatokban.

A futtatási szám egy folyamat vagy build meghatározott végrehajtásának azonosítására szolgál. A buildszám a futtatási szám szinonimája.

Ha nem ad meg buildnevet a YAML-folyamatokban, vagy a Név mezőt üresen hagyja a klasszikus folyamatokban, a futtatás neve egy egyedi egész szám lesz. Több hasznos nevet adhat a futtatásoknak, amelyek hasznosak a csapat számára. A buildnevekben tokenek, változók és aláhúzásjelek kombinációját használhatja.

A YAML-folyamatokban a buildnév tulajdonság meghívva name van, és a folyamat gyökérszintjén kell lennie. A YAML-fájlok gyökérszintjén megadott elemek folyamattulajdonságok.

Feljegyzés

A name tulajdonság nem működik sablonfájlokban.

Az alábbi példakód egy testre szabott buildszámot ad ki, például project_def_master_202408281.

name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:r)

steps:
  - script: echo '$(Build.BuildNumber)'

Futtatási szám

Az Azure Pipelinesban futó szám alapértelmezett értéke a következő $(Date:yyyyMMdd).$(Rev:r). $(Rev:r) egy speciális változóformátum, amely csak a buildszám mezőben működik. Ha egy build befejeződött, ha a buildszámban semmi más nem változott, az Rev egész szám értéke eggyel nő.

$(Rev:r) visszaáll, 1 amikor a buildszám bármely más része megváltozik. Ha például a buildszám formátumát úgy $(Build.DefinitionName)_$(Date:yyyyMMdd).$(Rev:r)konfigurálja, hogy a buildszám a dátum változásakor alaphelyzetbe áll.

Ha az előző buildszám volt MyBuild_20230621.1, akkor a következő buildszám aznap lesz MyBuild_20230621.2. A következő nap MyBuild_20230622.1az első buildszám.

$(Rev:r) is visszaáll, 1 ha módosítja a build számát, hogy jelezze a verzióváltoztatást. Ha például a build formátuma, 1.0.$(Rev:r) és az utolsó buildszám az volt 1.0.3, ha a buildszámot a következő buildszámra 1.1.$(Rev:r)módosítja, akkor a következő buildszám lesz 1.1.1.

Példa

A buildfuttatáshoz vegye figyelembe a következő adatokat:

  • Projekt neve: Fabrikam
  • Folyamat neve: CIBuild
  • Ág: fő
  • Buildazonosító/futtatás azonosítója: 752
  • Dátum: 2024. május 6.
  • Időpont: 21:07:03
  • Az egyik futtatás a mai napon befejeződött.

Ha a következő buildszámformátumot adja meg, a második futtatás 2024. május 6-án Fabrikam_CIBuild_main_20240506.2 lesz.

$(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd).$(Rev:r)

Tokenek

Az alábbi táblázat az előző példa alapján mutatja be, hogyan oldódnak fel az egyes jogkivonatok. Ezeket a jogkivonatokat csak futtatási számok definiálására használhatja. Máshol nem működnek a folyamatokban.

Jogkivonat Példaérték Jegyzetek
$(Build.DefinitionName) CIBuild A folyamatnév nem tartalmazhat érvénytelen vagy üres szóköz karaktereket.
$(Build.BuildId) 752 $(Build.BuildId) egy belső, nem módosítható azonosító, más néven futtatási azonosító, amely egyedi az Azure DevOps-szervezetben.
$(DayOfMonth) 6
$(DayOfYear) 126
$(Hours) 21
$(Minutes) 7
$(Month) 5
$(Rev:r) 2 A harmadik napi futás, 3és így tovább. Annak $(Rev:r) biztosítására, hogy minden befejezett build egyedi névvel rendelkezzen.
$(Date:yyyyMMdd) 20240506 Más dátumformátumokat is megadhat, például $(Date:MMddyy).
$(Seconds) 3
$(SourceBranchName) main
$(TeamProject) Fabrikam
$(Year:yy) 24
$(Year:yyyy) 2024

Fontos

Ha a futtatási számban a nullák előtagjait szeretné megjeleníteni, további r karaktereket is hozzáadhat a Rev jogkivonathoz. Adja meg $(Rev:rr) például, hogy a Rev szám a következővel 0102kezdődjön, és így tovább.

Ha egy verziószámozási séma részeként használ nulla párnát Rev , vegye figyelembe, hogy egyes folyamatfeladatok vagy népszerű eszközök, például a NuGet-csomagok, eltávolítják a kezdő nullákat. Ez a viselkedés a verziószám eltérését okozza a létrehozott összetevőkben.

Kifejezések

Ha kifejezéssel állítja be a buildszámot, nem használhat jogkivonatokat, mert az értékek nincsenek beállítva a kifejezések kiértékelésének időpontjában. Ezek a jogkivonatok a következők: $(Build.BuildId), $(Build.BuildURL)és $(Build.BuildNumber).

Változók

A buildszámban használhat felhasználó által definiált és előre definiált változókat. Ha például definiálja My.Variable, a következő számformátumot adhatja meg:

$(Build.DefinitionName)_$(Build.DefinitionVersion)_$(Build.RequestedFor)_$(Build.BuildId)_$(My.Variable)

Az előző példában az első négy változó előre definiálva van. További információ a felhasználói változók definiálásáról: Változók beállítása folyamatokban.

GYIK

Mekkora lehet egy futtatási szám, és milyen karaktereket használhatok?

A futtatási számok legfeljebb 255 karakter hosszúságúak lehetnek. Nem használhatja a karaktereket ", /, :, <, |?'>, , @, vagy *, és nem fejezheti be a számot..

Milyen időzónában vannak kifejezve a buildszám időértékei?

Az időzóna UTC.

Az időzóna megegyezik az alkalmazásréteg-kiszolgálót futtató gép operációs rendszerének időzónával.

Hogyan állíthatom be dinamikusan a buildszámot feltételekkel?

A futtatási szám részeként változókat is használhat. Az alábbi példában a függvény a futtatási szám részeként használja a változót why , és az értéke a Build.Reasonfüggvénytől függően változik.

variables:
  - name: why
    ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
      value: pr
    ${{ elseif eq(variables['Build.Reason'], 'Manual' ) }}:
      value: manual
    ${{ elseif eq(variables['Build.Reason'], 'IndividualCI' ) }}:
      value: indivci
    ${{ else }}:
      value: other

name: $(TeamProject)_$(SourceBranchName)_$(why)_$(Date:yyyyMMdd).$(Rev:r)

pool:
  vmImage: 'ubuntu-latest'

steps:
- script: echo '$(Build.BuildNumber)'

Hogyan hivatkozhatok a futtatási szám változóra egy szkripten belül?

Megadhat egy új változót, amely tartalmazza a futtatási számot, vagy meghívhatja közvetlenül a futtatási számot. Az alábbi példában egy új változó található, $(MyRunNumber) amely tartalmazza a futtatási számot. A futtatási szám változót a következővel MyRunNumber hívhatja meg: vagy $(Build.BuildNumber).

# Set MyRunNumber
variables: 
  MyRunNumber: '1.0.0-CI+$(Build.BuildNumber)'

steps:
- script: echo $(MyRunNumber)
- script: echo $(Build.BuildNumber)

Változók meghatározása