有条件地执行after_success操作?

Eli*_*man 11 travis-ci

我正在开发一个部署到Travis目前不支持的提供程序的项目,所以我已经在一个after_success块中编写了部署步骤.但是,我想将Travis配置为仅部署在新标签上.我知道这可以在使用deploy:块时添加

deploy:
  # ...
  on:
    tags: true
Run Code Online (Sandbox Code Playgroud)

deploy:街区.

同样可能after_success吗?如果没有,after_success如果我在新标签上,是否还有其他方法可以执行某些操作?

如果Travis不支持这个,我可以编写一个shell脚本在所有成功后运行,检查是否在新标签上,然后有条件地进行部署,但我更希望能让Travis自动执行.

谢谢!

Ada*_*der 26

是的!我需要完全相同的东西并通过以下方式解决它:

after_success:
  if ([ "$TRAVIS_BRANCH" == "master" ] || [ ! -z "$TRAVIS_TAG" ]) && 
      [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
    echo "This will deploy!"
  else
    echo "This will not deploy!"
  fi
Run Code Online (Sandbox Code Playgroud)

我希望他们为after_success事件引入on:tags:功能,它会使事情变得更容易,并使构建脚本更清晰.