0

我在 Drone YAML 中有以下条件逻辑,但我看到控件不在其中,即使无人机分支是“开发”。如何解决这个问题,我做错了什么吗?

commands:
      - "./gradlew clean build"
      - echo "${DRONE_BRANCH}"
      - echo "${DRONE_BRANCH}" = "develop"
      - >
        if [ "${DRONE_BRANCH}" = "develop" ]; then
            export CLOUD_USER_KEY=$STAGE_CLOUD_USER_KEY
            export HOST_NAME="11.22.111.111"
        fi
      - >
        if [ "${DRONE_BRANCH}" = "master" ]; then
            export CLOUD_USER_KEY=$PROD_CLOUD_USER_KEY
            export HOST_NAME="11.22.111.112"
        fi

      - echo "CLOUD_USER_KEY "${CLOUD_USER_KEY}
      - echo "HOST NAME "${HOST_NAME}
4

1 回答 1

0

>折叠块标量的 YAML 指标。YAML 中的换行意味着将两个非空连续行之间的换行符更改为空格。在将 bash 命令写入 YAML 时,这不是您想要的!

例如,这个简单的折叠块标量(仅使用原始 YAML 文件的一部分):

- >
  export CLOUD_USER_KEY=$STAGE_CLOUD_USER_KEY
  export HOST_NAME="11.22.111.111"

将被解析为:

- "export CLOUD_USER_KEY=$STAGE_CLOUD_USER_KEY export HOST_NAME=\"11.22.111.111\"\n"

这是行不通的。改用文字块标量来保留行尾:

- |
  export CLOUD_USER_KEY=$STAGE_CLOUD_USER_KEY
  export HOST_NAME="11.22.111.111"
于 2017-08-07T13:30:56.993 回答