Travis Build揭示了Travis工人和工作委员会用来生成Bash脚本的API,然后将其复制到工作执行环境中并执行,并将结果输出流回到Travis。
该代码基础已经经历了几次开发的迭代,最初是从传统的Travis Worker中提取的,然后才采取其当前表格。
跑步
bundle exec rake spec
您可以将Travis-Build设置为命令行客户端的插件:
git clone https://github.com/travis-ci/travis-build
cd travis-build
mkdir -p ~ /.travis
ln -s $PWD ~ /.travis/travis-build
gem install bundler
bundle install --gemfile ~ /.travis/travis-build/Gemfile
bundler binstubs travis
现在,您将能够运行travis compile
,该编译会产生运行指定作业的BASH脚本,但没有定义安全的环境变量,并且不考虑构建矩阵扩展,例如:
~ /.travis/travis-build/bin/travis compile
编译命令生成的bash脚本包含对执行系统执行系统进行更改的命令(例如,edit /etc/resolv.conf
,安装软件)。有些人需要sudo
特权,并且不容易撤消。
强烈建议您在容器或其他虚拟化环境中运行此操作。
该命令可以通过三种方式调用:
没有参数,它就会从本地.travis.yml
中的操作中产生并打印一个bash脚本,而无需考虑env
和matrix
值( travis-build
无法正确扩展这些键)。
~ /.travis/travis-build/bin/travis compile
使用一个整数,它为给定构建(或该构建矩阵的第一个工作)生成脚本。
~ /.travis/travis-build/bin/travis compile 8
有了MN
形式的论点,它为Job MN
生成了BASH脚本。
~ /.travis/travis-build/bin/travis compile 351.2
生成的脚本可在容器或虚拟化环境中使用,这些环境密切模仿Travis CI的构建环境,以帮助您调试构建故障。 Travis CI文档中提供了运行此类容器的说明。
除了Travis CLI插件外,您还可以运行独立的CLI脚本:
bundle exec script/compile < payload.json > build.sh
如果您想在计算机上本地运行Travis-Build(例如要与Worker互动),也可以将其作为带有Docker-Compose的Docker容器运行:
首先,构建图像:
docker-compose build web
第二,运行图像:
docker-compose run web
您可能希望使用不同的设置进行本地开发。以下显示在development
环境中运行travis-build
,将Docker Image的端口4000转发到主机的端口4000:
docker-compose run -e RACK_ENV=development -p 4000:4000 web
构建并运行它。这将创建一个/usr/src/app
目录中travis-build
存储库中内容的容器,并在该目录中启动您。从那里,您可以运行用作Travis CLI部分的插件中列出的命令,以使Compile命令可用于容器中的Travis Cli。
请参阅许可证文件。
版权(C)2011-2016 Travis CI开发团队。