如何在本地运行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.ymlsudo: false ),并且知道你在Travis CI上使用哪个Docker镜像。

在本地运行基于容器的Docker镜像

  1. 下载并安装Docker引擎。
  2. 从Quay.io中select一张图片。 如果你不使用语言特定的图像selecttravis-ruby 。 打开一个terminal并使用图片url开始交互式Docker会话:

     docker run -it quay.io/travisci/travis-ruby /bin/bash 
  3. 切换到travis用户:

     su - travis 
  4. 将你的git仓库复制到镜像的/文件夹中。
  5. 手动安装任何依赖项。
  6. 手动运行你的Travis CI构build命令。

根据Travis文档: https : //github.com/travis-ci/travis-ci,有一些项目混合在一起,共同提供我们所知道和喜爱的Travis CI Web服务。 以下项目子集似乎允许在项目中使用.travis.yml进行本地make testfunction:

特拉维斯 – 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的经验,并且想要在自己的数据中心获得相同的体验,请继续阅读。

201412月以来,Travis CI提供企业内部版本。

http://blog.travis-ci.com/2014-12-19-introducing-travis-ci-enterprise/

定价也是文章的一部分:

许可是按座位完成的,每个许可包括20个用户。 起价为每个许可6000美元,其中包括20个用户和5个并发构build。 有一个溢价选项,无限制的build设$ 8,500。