- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 Travis-CI 和 Github 基于分支设置部署。
IE。 - 如果我们从 develop
构建- 然后执行 /deploy.rb
使用 DEV 环境主机名,如果 master
- 然后 ./deploy.rb
带有 PROD 主机名等等。
我发现的唯一一个想法是检查 $TRAVIS_BRANC
变量,然后执行脚本,如:
language: php
install:
- true
script:
- test $TRAVIS_BRANCH = "develop" && ./ci/deploy.rb envdev.tld
- test $TRAVIS_BRANCH = "master" && ./ci/deploy.rb envprod.tld
最佳答案
Travis-CI 总是基于 .travis.yml
创建构建在你插入的分支中。作为解决方案,您可以因此维护不同的 .travis.yml
不同分支中的文件。
如果您定期在分支之间合并,那么这可能会导致分支之间的无意更改(如果您将一个分支的 .travis.yml
的更改合并到另一个分支)。如果这是一个问题,您的解决方案可能更安全。
为确保仅构建特定分支(例如 develop
和 master
),您可以 whitelist您的 .travis.yml
中的分支.
使用现有解决方案时,您可以简化 travis.yml
脚本虽然。将选择正确部署目标的逻辑移到您的 ci/deploy.rb
中可能是有意义的。脚本(或者甚至添加一个单独的包装脚本,您可以从 .travis.yml
调用该脚本)。这样,你就只有一个 script
您的 .travis.yml
中的线路如果您更改部署目标,甚至不需要更改。
或者,为了确保您的现有结构没有失败的测试,您甚至可以使用以下内容:
script:
- if [ "$TRAVIS_BRANCH" = "develop" ]; then ./ci/deploy.rb envdev.tld; fi
- if [ "$TRAVIS_BRANCH" = "master" ]; then ./ci/deploy.rb envprod.tld; fi
关于travis-ci - 特拉维斯 : different `script` for different branch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37544306/
我正在使用 travis stage,并希望以某种方式包含 appveyor 构建结果作为部署的先决条件。 是否有任何可用的集成或脚本可以执行此操作? python 是理想的选择。 最佳答案 这样的事
我添加了一个新的 Github Repo。 Travis 向我展示了这个页面: 列出了所有其他存储库。 是否有等待时间,我是否错过了什么或我必须创建一个问题? 最佳答案 解决方案是注销并重新登录 ht
我的 .travis.yml是: language: go go: - 1.5 install: - go get github.com/tools/godep - godep resto
我正在开发一个依赖于 rpy2 的 python 包。我想用 Travis CI 运行测试。在 .travis.yml 中,我安装了 conda 并使用 green 运行测试: language: p
我需要在 Travis 上启动一个 Rails 服务器来运行集成测试。 我已将此添加到配置文件中: before_script: - psql -c 'create database scalia
我想使用 Travis-CI 和 Github 基于分支设置部署。 IE。 - 如果我们从 develop 构建- 然后执行 /deploy.rb使用 DEV 环境主机名,如果 master - 然后
我正在尝试使用 Github 上的 travis 将 SonarQube 分析添加到我们的 OSS 项目中。 我执行了以下步骤: 在 sonarcloud.io 上创建组织和项目 在.travis.y
如何使用一个 .travis.yml 文件针对不同的 MySQL 后端运行测试? 类似于 here ,使用matrix->include。例如: 针对 MySQL 5.5 运行测试 针对 MySQL
问题是打错了,感谢大家的帮助 我正在尝试在 travis-ci 中运行单元测试。有一次我有一个简化的类: class X: def __init__(self, var1):
好吧,我正在尝试生成和部署基于 Python 2.7 的包的文档。该文档是使用 sphinx、python 2.7 生成的。 但是,要实际部署文档,我需要使用一个名为 doctr 的工具。这会自动将生
在 my commit 之后如下, -
我正在尝试让我的应用程序与 Travis CI 一起工作,但我不断收到:FATAL: role "skateparks"does not exist。关于我可能做错了什么的任何想法?我关注了他们的do
我在我的项目中使用 Go lang 并使用 Travis-CI 来构建它。 我想在每个操作系统(OSX、Linux、Windows)上构建它,所以我想使用 GIMME_OS 和 GIMME_ARCH
我正在尝试使用 Travis 使用 android-28 和 build-tools-28.0.0 构建 android 项目,但无论我做什么,我都会得到 >Failed to install the
我们正在使用 Travis Pro,并且我们对 Redshift 进行了一些测试。我们可以在 Redshift 中创建安全规则的 Travis VM 是否有 CIDR/IP 范围?显然我们不会为任何传
我有这个死简单.travis.yml对于一个java项目。当我对文件运行“travis-lint”时提示 [17:24:23@emeraldjava]$ travis-lint /Users/paul
我禁用了项目的 Build Pushes 设置。在它被禁用的时候,我向 GitHub 推送了一个提交。现在我想为该提交触发构建,但除了重新启用该功能并推送另一个提交外,我找不到其他方法。 最佳答案 有
我尝试使用 travis ci 将我的开源项目部署到 Nexus 存储库 ( https://oss.sonatype.org ),但不幸的是,travis 没有找到 gpg 签名步骤的 key 。
travis encryption docs提到我必须在加密之前对我的密码进行 bash-escape: Note on escaping certain symbols When you use t
我尝试在 .travis.yml 配置文件中升级 Travis CI 使用的 npm 版本: 语言:node_js node_js:0.12 安装前:npm install -g npm@latest
我是一名优秀的程序员,十分优秀!