gpt4 book ai didi

github - 有条件地触发 TravisCI 构建阶段?

转载 作者:行者123 更新时间:2023-12-02 03:03:20 28 4
gpt4 key购买 nike

我正在使用 TravisCI's Build Stages将我的工作分为两个阶段:

  1. 在多个环境中构建和测试。
  2. 如果第 1 阶段通过,则构建并部署。

我想让 Travis 在提交到两个 GitHub 分支 masterdev 时运行作业,并将请求拉取到 master开发。但是,我只想在提交到 master 时运行第二阶段。

有没有办法完全忽略提交到非 master 的分支以及拉取请求的第 2 阶段?

这是我的 .travis.yml 在撰写本文时的样子: https://github.com/SammyIsra/photostream-react/blob/c354a62c3cc963b345a5c2fb95658c90ddc39d21/.travis.yml

更新:到目前为止,这似乎是不可能的。然而,截至this comment on the Build Stages feedback board,TravisCI 团队可能正在研究类似的东西。 .每当我得知它是作为一项功能添加的,或者它绝对不可能永远存在时,我都会改变这个问题。

最佳答案

似乎没有办法在 build stages section 中触发作业时忽略特定分支,但是看起来有一种方法可以只在推送到 master 时触发部署。

在构建阶段的 script 部分,您可以将 npm run build 命令包装在快速 Bash if 语句中以测试 environment variable which shows what branch you're on :

if [ TRAVIS_BRANCH == "master" ]; then npm run build; fi

然后,在您的 Surge 部署部分,您可以使用 restrict the deployment to a particular branch:

deploy:
...
on: master

对于 NPM deployment 基本相同:

deploy:
...
on:
branch: master

注意:我自己没有尝试过任何这些,因此它可能会也可能不会与新的构建阶段功能结合使用。

关于github - 有条件地触发 TravisCI 构建阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44464477/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com