Continuous integration 当分支是主分支且travis未生成拉请求时,如何有条件地将部署步骤添加到.travis.yml?

Continuous integration 当分支是主分支且travis未生成拉请求时,如何有条件地将部署步骤添加到.travis.yml?,continuous-integration,travis-ci,continuous-deployment,Continuous Integration,Travis Ci,Continuous Deployment,在我的.travis.yml文件中,我有一个测试和部署阶段。我只希望在将提交构建到主节点中时执行部署阶段,而不是针对主节点拉取请求 当前设置如下所示: stages: - test - deploy matrix: include: -stage: test ... -stage: deploy 我想补充一下: stages: - test - deploy if: branch = master matrix: include: -stage

在我的.travis.yml文件中,我有一个测试和部署阶段。我只希望在将提交构建到主节点中时执行部署阶段,而不是针对主节点拉取请求

当前设置如下所示:

stages:
- test
- deploy
matrix:
  include:
    -stage: test
       ...
    -stage: deploy
我想补充一下:

stages:
- test
- deploy
  if: branch = master
matrix:
  include:
    -stage: test
      ...
    - stage: deploy
      ...

我似乎无法使用Travis文档中的语法使后者正常工作:

如果使用内置的Travis部署,您只需执行以下操作:

deploy
  --snip--
  on:
    branch: master
在我删掉的部分(上面写着
--snip--
)中,您将放置部署提供程序

更多信息


希望这有帮助

不幸的是,这将为矩阵中的每个阶段运行部署步骤,而不是在所有阶段完成后运行一次。有办法吗?你的矩阵是由什么组成的?