我刚参加了一个项目,我是特拉维斯-奇的新手。为了运行构建,我不希望把所有的小更改都推到.travis.yml上,也不想把所有的小更改都推到源代码上。使用jenkins,您可以下载jenkins并在本地运行。特拉维斯提供了这样的东西吗?
注意:我已经看过travis-ci cli并下载了它,但是它似乎只调用了他们的API,然后连接到我的GitHub回购,所以如果我不按下,重新启动上一次构建就无关紧要了。
发布于 2016-03-13 16:46:23
Travis-ci提供了一种新的基于集装箱的基础设施,使用了码头。如果您试图通过在本地复制travis-ci构建,这将非常有用。这是从特拉维斯CI的文档。
码头映像中的本地故障排除
如果您在查找构建中的确切问题时遇到了困难,那么在本地运行构建通常会有所帮助。要做到这一点,您需要使用基于容器的基础设施(即,在您的sudo: false中使用.travis.yml),并知道您在Travis上使用的是哪个Docker映像。
本地运行基于容器的码头映像
发布于 2014-07-24 14:37:45
更新:我现在有了一个完整的统包,一个完整的答案,见 https://stackoverflow.com/a/49019950/300224.只花了3年时间就弄明白了!
根据Travis文档:https://github.com/travis-ci/travis-ci有一个项目的组合,共谋提供我们所知道和喜爱的Travis网络服务。以下项目子集似乎允许使用项目中的make test进行本地.travis.yml功能:
特拉维斯-建造
特拉维斯-建造为每个作业创建构建脚本。它从.travis.yml文件中获取配置,并创建一个bash脚本,然后由travis在构建环境中运行。
特拉维斯-食谱
特拉维斯-食谱保存用于提供构建环境的厨师食谱。
特拉维斯-工人
特拉维斯-工人负责在干净的环境中运行构建脚本。它将日志输出流到travis日志,并将状态更新(构建、启动/完成)推送到travis-hub。
(其他子项目负责与GitHub、它们的web接口、电子邮件和API进行通信。)
发布于 2017-01-30 12:23:14
类似于Scott,但是这也会生成一个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
# to create ~/.travis
travis version
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.shhttps://stackoverflow.com/questions/21053657
复制相似问题