首页 > 解决方案 > Travis:如何在特定提交消息上执行阶段

问题描述

我只想在特定的提交消息上执行 travis 阶段(最后在提交消息中的文本标签上,但现在让我们简化一下)。Travis 允许使用if语句进行条件执行(我更喜欢使用它,因为我的 travis 文件的结构)。Travis 文档提到了 2 个可用于获取提交消息的变量: commit_messageTRAVIS_COMMIT_MESSAGE 尝试使用它们。在这些情况下:

- stage: Deploy
  if: commit_message = "deploy" AND type = push


- stage: Deploy
  if: $TRAVIS_COMMIT_MESSAGE = "deploy" AND type = push

无论提交消息的内容是什么,该阶段都会始终执行。

在这种情况下:

- stage: Deploy
  if: env(TRAVIS_COMMIT_MESSAGE) = "deploy" AND type = push

无论提交消息的内容是什么,该阶段都不会执行。

我还尝试添加conditions: v1.travis 文件的根目录,但没有任何效果。似乎比较运算符没有按预期工作(尤其是在前两种情况下 - 如果字符串不相等,怎么可能总是如此??)。

标签: continuous-integrationtravis-cicommit

解决方案


推荐阅读