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

时间:2014-07-10 14:58:47

标签: regex bash travis-ci

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

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

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

2 个答案:

答案 0 :(得分:18)

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

on:
    tags: true
    all_branches: true
    condition: "$TRAVIS_TAG =~ ^release.*$"

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

答案 1 :(得分:4)

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

on:
  all_branches: true
  condition: $TRAVIS_TAG =~ ^v[0-9]+\.[0-9]+\.[0-9]+