簡體   English   中英

Gitlab azure cli多行參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM