在Github上的Travis CI脚本中,我有以下条件,如果将提交推送到远程分支,则default
配置文件将运行。 test
配置文件(如果是请求请求)。
script:
- 'if [ "$TRAVIS_EVENT_TYPE" == "push" ]; then
mvn clean install;
else
mvn clean install -P test;
fi'
现在我面临的问题是,当从feature
到develop
分支的合并(我不想合并)时, if 条件也会运行。我希望 if 条件仅在从本地feature
或bugfix
分支到远程的推送时才运行。为了解决这个问题,我添加了正则表达式来匹配如下所示的分支。
script:
- 'if [ "$TRAVIS_EVENT_TYPE" == "push" && "$TRAVIS_BRANCH" =~ ^(feature|bugfix)]; then
mvn clean install;
else
mvn clean install -P test;
fi'
但是会出现以下错误:
命令“如果[如果[“ $ TRAVIS_EVENT_TYPE” ==“ push” &&“ $ TRAVIS_BRANCH” =〜^(功能|错误修正)];则mvn clean install;否则mvn clean install -P test; fi以1退出
编辑:我认为匹配分支条件将无助于实现我在此处试图做的事情。由于合并将从feature-*
或bugfix-*
到develop
分支。因此,我认为此额外的分支检查在这里是多余的。
所以我要实现的构建规则是:
default
运行mvn clean install
配置文件。test
mvn clean install -P test
配置文件
在Travis CI脚本中实现此目标的正确检查是什么?