Azure devops पाइपलाइन में टाइमस्टैम्प चर का उपयोग करें
मैं azure devops पाइपलाइनों में बिल्ड चर का उपयोग करने पर अटक गया हूं।
मैं क्या हासिल करने की कोशिश करता हूं: वर्तमान टाइमस्टैम्प के साथ चर बनाएं और इस चर का उपयोग बिल्ड नाम और विरूपण साक्ष्य संस्करण (ट्रेसबिलिटी के लिए) सेट करने के लिए करें।
मेरे वर्तमान कॉन्फ़िगरेशन में पॉवरशेल स्क्रिप्ट को सफलतापूर्वक निष्पादित किया गया है, लेकिन npm चरण में चर foo खाली है (नीचे yml कोड देखें)।
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'
मेरे सवाल: एनपीएम चरण में चर फू (शक्तियां के साथ पेश) खाली क्यों है? क्या स्वयं प्रस्तुत चर फू के साथ बिल्ड नाम सेट करने का एक तरीका है (बिल्ड नाम और कलाकृति संस्करण के लिए समान टाइमस्टैम्प का उपयोग करने के लिए)?
जवाब
आप अपने YAML पाइपलाइन के गलत प्रारूप का उपयोग कर रहे हैं। आप नीचे स्निपेट का उपयोग कर सकते हैं:
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'
फिर इस फू चर को पॉसिबल के सफल होने के साथ पेश किया जाना चाहिए। आप इसे npm कार्य में विस्तार देखेंगे।