我正在开发一个部署到Travis当前不支持的提供程序的项目,因此我在after_success
块中编写了部署步骤。但是,我想将Travis配置为仅部署在新标签上。我知道使用deploy:
块时可以添加
deploy:
# ...
on:
tags: true
到deploy:
区块。
在after_success
中是否可以相同?如果没有,是否还有另一种方法可以在after_success
中执行某些操作,如果我使用的是新标记?
如果Travis不支持这个,我可以写一个shell脚本在所有成功后运行,检查是否在新标签上,然后有条件地进行部署,但我更喜欢能够使用Travis自动完成。
谢谢!
答案 0 :(得分:23)
是的!我需要完全相同的事情并通过以下方式解决:
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
我希望他们为after_success事件引入on:tags:功能,它会让事情变得更容易,并使构建脚本更清晰。