如何在标记名称与正则表达式匹配时启动Travis CI部署

Ste*_*nev 24 regex bash travis-ci

当一个看起来像语义版本的标签被推送时,我想开始一个npm部署,例如v1.2.3.我看到标签名称在TRAVIS_TAG环境变量中,我可以指定一个on:条件,"可以是任何Bash条件".我不知道在这里写什么以及如何调试它.

- provider: npm on: tags: true all_branches: true condition: ???

理想情况下,我想不打扰Bash - 我希望条件执行Node.js脚本,然后决定是否部署,具体取决于节点退出代码.我怎样才能做到这一点?

esh*_*azi 20

最简单的方法仍然是使用bash,只有当标记名称与正则表达式"release.*"匹配时,此示例才会部署:

on:
    tags: true
    all_branches: true
    condition: "$TRAVIS_TAG =~ ^release.*$"
Run Code Online (Sandbox Code Playgroud)

有关travis环境变量的更多信息,请查看此链接:http: //docs.travis-ci.com/user/ci-environment/#Environment-variables

  • 这会引发错误"[x]语法错误:(<unknown>):在行解析引用标量时发现未知的转义字符....". (3认同)

pom*_*ber 5

eshizari的答案对我不起作用。这是我正在使用的方法:

on:
  all_branches: true
  condition: $TRAVIS_TAG =~ ^v[0-9]+\.[0-9]+\.[0-9]+
Run Code Online (Sandbox Code Playgroud)