首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drone,如果条件不起作用

Drone,如果条件不起作用
EN

Stack Overflow用户
提问于 2017-08-07 15:47:40
回答 1查看 601关注 0票数 0

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

代码语言:javascript
复制
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}
EN

回答 1

Stack Overflow用户

发布于 2017-08-07 21:30:57

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

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

代码语言:javascript
复制
- >
  export CLOUD_USER_KEY=$STAGE_CLOUD_USER_KEY
  export HOST_NAME="11.22.111.111"

将被解析为:

代码语言:javascript
复制
- "export CLOUD_USER_KEY=$STAGE_CLOUD_USER_KEY export HOST_NAME=\"11.22.111.111\"\n"

这是行不通的。改用文字块标量,这样可以保留行尾:

代码语言:javascript
复制
- |
  export CLOUD_USER_KEY=$STAGE_CLOUD_USER_KEY
  export HOST_NAME="11.22.111.111"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45541799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档