曾经可以下载Vagrant box来调试Travis构建(例如GitHub项目)。显然,这已经不可能了,那么人们目前是如何调试复杂的Travis在本地构建链的呢?
检查构建的一种方法(不是调试,抱歉)是在失败时将构建日志发送到另一台服务器。
这里有一个例子:
after_failure
- sudo tar -czf /tmp/build-${TRAVIS_BUILD_NUMBER}-logs.tgz your-application-logs/
- scp /tmp/build-${TRAVIS_BUILD_NUMBER}-logs.tgz travis@your-server.com:~/logs
你可以通过电子邮件发送它们,将它们存储在存储服务器上或其他什么。
如果您在调试模式下运行测试,并在tarball中包含我们自己的日志,那么这些日志将对您非常有用。
不幸的是,目前没有一个好的解决方案可以在本地测试travis-ci构建。我能推荐的最接近的东西是Ubuntu 12.04流浪者vm,并从这里为它提供Travis厨师食谱。这将解决大多数用例,因为大多数时候测试失败不是来自travis软件(尽管运气不好,因为大多数travis软件都依赖于travis的其他部分,因此设置起来相当困难),而是来自底层操作系统(Ubuntu)和ruby和ruby gems等软件。
我曾尝试在这里为JVM构建制作一个docker文件,这对我来说很好。它基于travis发布的容器,并利用travis CLI和travis Build项目能够在docker容器中运行.travis.yml文件。
一个已构建的JVM映像位于docker hub上。