[英]Gitlab azure cli multiple lines parameters
我正在嘗試在 Gitlab 中創建一個 ci 管道以創建一個新的存儲帳戶。 由於此資源有很多可選參數,因此將它們全部放在一行中會使它變得很長,所以我想將其分解。 在我的本地 bash 實例中運行它可以正常工作,但在 gitlab 上卻不行。如何在 gitlab 中將命令拆分為多行? 這是我的 CI 的樣子:
image: mcr.microsoft.com/azure-cli:2.9.1
stages:
- preparation
create_storage:
stage: preparation
script:
# Create storage account if not exists:
- storageAccountAvailable=$(az storage account check-name --name myStorage --query "nameAvailable")
- >
if [[ $storageAccountAvailable = "true" ]]; then
az group create --location westeurope --name myStorageRG
az storage account create \
--name myStorage \
--resource-group myStorageRG \
--sku Standard_LRS \
--min-tls-version TLS1_2 \
--https-only true \
--access-tier Hot \
--default-action Deny \
--public-network-access Disabled
az storage account network-rule add --account-name myStorage --ip-address 1.1.1.1
fi
allow_failure: false
如果我像上面那樣使用反斜杠,它會在最后一行--public.network-access Disabled
上失敗,表示它無法識別該參數。 如果我完全刪除反斜杠,它會在開始時失敗並抱怨我缺少資源組。
將長命令拆分為多行以查看更好的可讀性。 所以你可以使用文字|
並折疊>
()。 參考YAML multiline block scalar indicators 。
根據我們了解到的Gitlab Doc ,
如果多個命令組合成一個命令字符串,則僅報告最后一個命令的失敗或成功。 由於錯誤,忽略早期命令的失敗。 要解決此問題,請將每個命令作為單獨的
script
項運行,或將exit 1
命令添加到每個命令字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.