Azure devops ardışık düzeninde zaman damgası değişkenini kullanın
Azure devops ardışık düzenlerinde yapı değişkenlerini kullanmakta kaldım.
Neyi başarmaya çalışıyorum: Geçerli zaman damgasıyla değişken oluşturun ve bu değişkeni yapı adını ve yapı sürümünü (izlenebilirlik için) ayarlamak için kullanın.
Mevcut konfigürasyonumda powershell betiği başarılı bir şekilde yürütülüyor, ancak foo değişkeni npm adımında boş (aşağıdaki yml koduna bakın).
variables:
system.debug: true
name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)-$(Hours)$(Minutes)$(Seconds) [...] steps: - task: PowerShell@2 inputs: targetType: 'inline' script: 'Write-Host "Setting up the date time for build variable" $date=$(Get-Date -format yyyyMMdd-Hmmss) Write-Host "##vso[task.setvariable variable=foo]$date"'
- task: Npm@1
inputs:
command: 'custom'
customCommand: '--no-git-tag-version version prerelease --preid=dev-$(foo)'
displayName: 'npm version prerelease'
Sorularım: npm adımında foo (powershell ile tanıtılan) değişkeni neden boş? Kendi kendine tanıtılan foo değişkeni ile derleme adını belirlemenin bir yolu var mı (yapı adı ve yapı sürümü için aynı zaman damgasını kullanmak için)?
Yanıtlar
YAML ardışık düzeninizin yanlış biçimini kullanıyorsunuz. Aşağıdaki pasajı kullanabilirsiniz:
steps:
- powershell: |
Write-Host "Setting up the date time for build variable"
$date=$(Get-Date -format yyyyMMdd-Hmmss)
Write-Host "##vso[task.setvariable variable=foo]$date"
displayName: 'PowerShell Script'
Daha sonra bu foo değişkeni powershell ile başarılı bir şekilde tanıtılmalıdır. Takip npm görevinde genişlediğini göreceksiniz.
