[英]How to read ssm parameters in a shell script in aws data pipeline?
[英]How to pass parameters from azure pipeline to shell script?
我正在嘗試將參數從 Azure 管道傳遞給 shell 腳本。 正在命中 shell 腳本,但參數沒有傳過來。 這是管道任務:
- task: AzureCLI@2
inputs:
azureSubscription: 'our-subscription'
scriptType: 'bash'
scriptLocation: 'scriptPath'
scriptPath: 'Path/to/shellscript/cli.sh'
arguments:
addSpnToEnvironment:
${{ variables.appVersion }}
${{ variables.bNumber }}
這是一些 cli.sh
appVersion=$1
buildNo=$2
echo printing values:
echo appVersion= "$appVersion"
echo buildNo= "$buildNo"
這是管道任務中的一些日志
printing values:
appVersion=
buildNo=
D:\a\1\s\path\to\shellscript\cli.sh: line 72: wget: command not found
另請注意,wget 命令也未被識別。 我錯過了什么?
“addSpnToEnvironment”的用法是將您選擇的 Azure 端點的服務主體 ID 和密鑰添加到腳本的執行環境中。
addSpnToEnvironment 在腳本中訪問服務主體詳細信息(可選)將您選擇的 Azure 端點的服務主體 ID 和密鑰添加到腳本的執行環境。 您可以在腳本中使用這些變量:$env:servicePrincipalId、$env:servicePrincipalKey 和 $env:tenantId。 僅當 Azure 端點具有服務委托人身份驗證方案時,才會兌現默認值:false
在您的任務中,您正試圖通過此屬性傳遞變量,這在語法上是無效的,您可以執行以下操作來獲得所需的結果:
為了快速測試,我將您的腳本作為內聯腳本傳遞,而不是傳遞腳本路徑。
variables:
- name: appVersion
value: 1.0
- name: bNumber
value: $(Build.BuildNumber)
steps:
- task: AzureCLI@2
inputs:
azureSubscription:'<subscription>'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
#!/bin/sh
appVersion=$1
buildNo=$2
echo printing values:
echo appVersion= "$appVersion"
echo buildNo= "$buildNo"
arguments: '${{ variables.appVersion }} ${{ variables.bNumber }}'
管道 output:
printing values:
appVersion= 1.0
buildNo= 20220223.16
/usr/bin/az account clear
Finishing: AzureCLI
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.