如何在 travis-ci 上预安装软件?
How can I preinstall software on travis-ci?
我们使用travis-ci进行持续集成。我对我们的构建过程花费的时间太长(约 30 分钟)这一事实感到困扰。我们依赖于使用 apt-get 获取的几个 Ubuntu 包,其中 python-pandas.
我们也有一些我们自己的 deb,我们通过 HTTPS 和 dpkg 安装获取它们。最后,我们有几个 pip/pypi 需求,例如 Django、Flask、Werkzeug、numpy、pycrypto、selenium。
如果能够至少预先打包其中的一些要求,那就太好了。 travis 是否支持这样的东西?我如何预先打包其中的一些要求?是否可以构建自定义 travis 基础 VM 并从那里开始构建(可能使用 docker)? Especi默认 Ubuntu precise 存储库的 apt-get 要求以及 pip 要求应该很容易包含。
目前 Travis-CI 不支持这样的功能。目前有一些相关问题尚未解决,例如 custom VMs, running Docker in an OpenVz container - (Spotify seems to have a somewhat working example links in this issue), using Linux Containers (LXC), using KVM.
其中一些在问题中提到了解决方法,我会尝试这些,直到 Travis-CI 支持更实质性的东西。我还建议联系 Travis-CI 支持人员,看看他们是否有任何建议(也许很快就会出现一些可以提供帮助的东西)。
因此,虽然这个问题已经得到解答,但实际上并没有提供解决方案。您可以在 travis 中使用缓存指令来缓存您构建的包以供将来的 travis 运行使用。
cache:
directories:
- $HOME/.pip-cache/
- $HOME/virtualenv/python2.7
install:
- pip install -r requirements.txt --download-cache "$HOME/.pip-cache"
现在您的包内容已保存,用于您的下一个 travis 构建。您可以类似地将检索缓慢的资源存储在其他目录中并缓存它们。
我们使用travis-ci进行持续集成。我对我们的构建过程花费的时间太长(约 30 分钟)这一事实感到困扰。我们依赖于使用 apt-get 获取的几个 Ubuntu 包,其中 python-pandas.
我们也有一些我们自己的 deb,我们通过 HTTPS 和 dpkg 安装获取它们。最后,我们有几个 pip/pypi 需求,例如 Django、Flask、Werkzeug、numpy、pycrypto、selenium。
如果能够至少预先打包其中的一些要求,那就太好了。 travis 是否支持这样的东西?我如何预先打包其中的一些要求?是否可以构建自定义 travis 基础 VM 并从那里开始构建(可能使用 docker)? Especi默认 Ubuntu precise 存储库的 apt-get 要求以及 pip 要求应该很容易包含。
目前 Travis-CI 不支持这样的功能。目前有一些相关问题尚未解决,例如 custom VMs, running Docker in an OpenVz container - (Spotify seems to have a somewhat working example links in this issue), using Linux Containers (LXC), using KVM.
其中一些在问题中提到了解决方法,我会尝试这些,直到 Travis-CI 支持更实质性的东西。我还建议联系 Travis-CI 支持人员,看看他们是否有任何建议(也许很快就会出现一些可以提供帮助的东西)。
因此,虽然这个问题已经得到解答,但实际上并没有提供解决方案。您可以在 travis 中使用缓存指令来缓存您构建的包以供将来的 travis 运行使用。
cache:
directories:
- $HOME/.pip-cache/
- $HOME/virtualenv/python2.7
install:
- pip install -r requirements.txt --download-cache "$HOME/.pip-cache"
现在您的包内容已保存,用于您的下一个 travis 构建。您可以类似地将检索缓慢的资源存储在其他目录中并缓存它们。