Azure DevOps - PowerShell 스크립트에서 변수 설정 및 사용
Azure DevOps 빌드 파이프라인에는 두 개의 개별 PowerShell 스크립트가 있습니다.첫 번째 스크립트에서는 XML 파일에서 값을 얻고 환경 변수에 그 값을 설정합니다.두 번째 대본에서는 환경 변수의 값을 사용하고자 합니다.안타깝게도 환경 변수가 설정되지 않는 것 같습니다.이 시점에서 다음과 같은 것이 있습니다.
스크립트 1:
$myXml = [xml](Get-Content ./MyXml.xml)
$departmentId = $myXml.Department.Id
Write-Host ##vso[task.setvariable variable=DepartmentId;]$departmentId
Write-Host "Set environment variable to ($env:DepartmentId)"
Get-ChildItem Env:
Write-Host "Department Id ($departmentId)"
스크립트 1이 실행되면 다음을 볼 수 있습니다.
Set environment variable to ()
[All of the environment variable BUT, I DO NOT SEE ONE NAMED "DepartmentId"]
Department Id (1)
공지사항: 1) The$env:DepartmentId
"환경변수 설정" 문에 값이 출력되지 않고 있으며, 2)DepartmentId
value가 환경 변수 목록에 없습니다.제 의도는 사용하는 것입니다.DepartmentId
다음과 같은 두번째 대본에서:
스크립트 2:
Write-Host "Using Department: $(env:DepartmentId)"
이때 스크립트에는 다음과 같은 내용만 표시됩니다.
env:DepartmentId : The term 'env:DepartmentId' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
관련된 다른 SO 질문들을 보고 문서들을 검토했습니다.하지만, 이것은 단순히 효과가 없습니다.제가 뭘 잘못하고 있는지 이해가 안 돼요.누가 이 문제를 해결하는 방법을 보여주고 제가 무엇을 잘못하고 있는지 설명해 주실 수 있나요?감사해요!
대본1
다음을 통해 환경 변수를 설정할 때 따옴표 사용task.setvariable
부터#
는 PowerShell 주석을 나타냅니다.출력할 문자열에 대해 설명했습니다.
또한 파이프라인이 먼저 처리해야 하므로 환경 변수를 설정하는 스크립트에서 사용할 수 없을 수 있습니다.task.setvariable
산출에 있어서
$myXml = [xml](Get-Content ./MyXml.xml)
$departmentId = $myXml.Department.Id
Write-Host "##vso[task.setvariable variable=DepartmentId;]$departmentId"
Write-Host "Set environment variable to ($env:DepartmentId)"
Get-ChildItem Env:
Write-Host "Department Id ($departmentId)"
대본2
여전히 다음을 통해 변수를 참조해야 합니다.$
표정 속에당신이 그립습니다.$
전에env
.
Write-Host "Using Department: $($env:DepartmentId)"
환경 변수를 설정하려면 를 사용하여 설정해야 합니다.
$env:departmentId = $myXml.Department.Id
문자열 내에서 변수를 사용할 때 변수 앞에 $ 기호가 있어야 합니다.와 같이
Write-Host "Using Department: $($env:DepartmentId)"
get-childItem의 환경 변수가 다르게 보이는 이유는 액세스 변수가 아니라 실제로 pprovider를 나열하고 있기 때문입니다.
Get-ChildItem Env:
언급URL : https://stackoverflow.com/questions/52333871/azure-devops-setting-and-using-variables-in-powershell-scripts
'code' 카테고리의 다른 글
Woocommerce에서 특정 텍스트 변경 또는 번역 (0) | 2023.10.25 |
---|---|
증분 피연산자로 l 값이 필요 (0) | 2023.10.20 |
도커 파일에 인수를 전달하는 방법? (0) | 2023.10.20 |
(2.x로 업그레이드하는 대신) nuget을 jQuery 1.9.x/1.x 경로로 유지할 수 있습니까? (0) | 2023.10.20 |
Github Push Error: RPC 실패, 결과=22, HTTP 코드= (0) | 2023.10.20 |