如何在本地运行travis-ci
我刚刚参加了一个项目,而我对travis-ci是新手。 我宁愿不必将每一个小小的变化都推到.travis.yml文件,以及为了运行构build而对源代码所作的每一点改动。 有了jenkins,你可以下载jenkins并在本地运行。 特拉维斯提供这样的东西吗?
注意:我已经看到了travis-ci cli并下载了它,但似乎只是调用它的API,然后连接到我的github仓库,所以如果我不推动,重新启动并不重要最后的构build。
Travis-ci提供了一个使用docker的新的基于容器的基础架构。 如果您试图通过本地复制travis-ci构build来排除故障,这可能非常有用。 这是从特拉维斯CI的文件 。
在Docker镜像本地进行故障排除
如果您无法在构build中追踪确切的问题,那么通常可以帮助在本地运行构build。 要做到这一点,你需要使用我们的基于容器的基础设施(即在你的.travis.yml
有sudo: false
),并且知道你在Travis CI上使用哪个Docker镜像。
在本地运行基于容器的Docker镜像
- 下载并安装Docker引擎。
-
从Quay.io中select一张图片。 如果你不使用语言特定的图像select
travis-ruby
。 打开一个terminal并使用图片url开始交互式Docker会话:docker run -it quay.io/travisci/travis-ruby /bin/bash
-
切换到
travis
用户:su - travis
- 将你的git仓库复制到镜像的
/
文件夹中。 - 手动安装任何依赖项。
- 手动运行你的Travis CI构build命令。
根据Travis文档: https : //github.com/travis-ci/travis-ci,有一些项目混合在一起,共同提供我们所知道和喜爱的Travis CI Web服务。 以下项目子集似乎允许在项目中使用.travis.yml
进行本地make test
function:
特拉维斯 – build造
travis-build为每个作业创build构build脚本。 它采用.travis.yml
文件中的configuration,并创build一个bash
脚本,然后由travis-worker在构build环境中运行。
特拉维斯 – 食谱
Travis-Cookbooks拥有用于configuration构build环境的Chef食谱。
特拉维斯工人
travis-worker负责在干净的环境中运行构build脚本。 它将日志输出stream式传输到travis-logs,并将状态更新(构build开始/结束)推送到travis-hub。
(其他子项目负责与GitHub,他们的Web界面,电子邮件和他们的API进行通信。)
你可以试试https://github.com/jolicode/JoliCi
它使用docker试图成为本地替代travis-ci。 它应该支持php,nodejs&ruby。 如果缺less某些东西,可以在项目页面上提交一个错误
类似于Scott McLeod's,但是这也会生成一个bash脚本来运行.travis.yml中的步骤。
使用生成的Bash脚本在本地Docker中进行故障排除
# choose the image according to the language chosen in .travis.yml $ docker run -it -u travis quay.io/travisci/travis-jvm /bin/bash # now that you are in the docker image, switch to the travis user sudo - travis # Install a recent ruby (default is 1.9.3) rvm install 2.3.0 rvm use 2.3.0 # Install travis-build to generate a .sh out of .travis.yml cd builds git clone https://github.com/travis-ci/travis-build.git cd travis-build gem install travis travis # to create ~/.travis ln -s `pwd` ~/.travis/travis-build bundle install # Create project dir, assuming your project is `AUTHOR/PROJECT` on GitHub cd ~/builds mkdir AUTHOR cd AUTHOR git clone https://github.com/AUTHOR/PROJECT.git cd PROJECT # change to the branch or commit you want to investigate travis compile > ci.sh # You most likely will need to edit ci.sh as it ignores matrix and env bash ci.sh
使用wwtd(travis会做什么) ruby gem来在本地机器上运行testing,就像在travis上运行一样。
它将重新创build构buildmatrix并运行每个configuration,在推送之前对健全性检查设置非常重要。
gem i wwtd wwtd
我不确定你在本地运行Travis的原因是什么,如果你只是想玩它,那么不要在这里阅读,因为它与你无关。
如果您已经有托pipe的Travis的经验,并且想要在自己的数据中心获得相同的体验,请继续阅读。
自2014年12月以来,Travis CI提供企业内部版本。
http://blog.travis-ci.com/2014-12-19-introducing-travis-ci-enterprise/
定价也是文章的一部分:
许可是按座位完成的,每个许可包括20个用户。 起价为每个许可6000美元,其中包括20个用户和5个并发构build。 有一个溢价选项,无限制的build设$ 8,500。