github - 为打开的拉取请求跳过 travis.yml 部署?

标签 github travis-ci travis-ci-cli

我为拉取请求启用了 Travis 存储库。打开拉取请求时,travis.yml 会触发测试和 deploy 脚本。

我想打开拉取请求以运行所有测试,但除非合并,否则不运行部署脚本。

下面是我的 travis.yml 的示例:

sudo: true
language: node_js
before_deploy:
  - wget https://s3.amazonaws.com/go-cli/releases/v6.12.4/cf-cli_amd64.deb -qO temp.deb && sudo dpkg -i temp.deb
  - rm temp.deb
  - cf login
  - cf install-plugin autopilot -r CF-Community
  - npm run build
deploy:
- edge: true
  provider: script
  script: cf zero-downtime-push app-name -f ./manifest.yml
  on:
    branch: master

最佳答案

您可以使用 travis 特殊环境变量 TRAVIS_PULL_REQUEST 来检测是否为 PR 触发了构建。

所以你的脚本看起来像:

...

deploy:
- edge: true
  provider: script
  script: if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then cf zero-downtime-push app-name -f ./manifest.yml; else echo "PR skip deploy"; fi
  on:
    branch: master

更多您可以借鉴的 travis 变量:
https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables

关于github - 为打开的拉取请求跳过 travis.yml 部署?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42266188/

相关文章:

selenium - 即使 Selenium 测试失败,构建也不会在 Travis-CI 中失败

java - 如何使用 Travis CI 上的构建矩阵设置运行 API 25 的模拟器?

bash - 如何增加 travis CI 中的无事件等待时间?

ruby - 安装 travis-cli 时在 macOS 中找不到 libffi 的包配置

git - 如何获取特定的 git 标签

java - 如何在您的网站上显示 GitHub 时间线/提要

Git checkout 错误

ruby-on-rails - Ruby on Rails 和 Github 页面

internet-explorer - Travis-CI +酱连接+ Behat : Unable to get Internet Explorer to run tests

docker - 如何在Matrix配置中将travis与多个OS + docker一起使用