当前设置:
我有一个使用Vagrant / Chef构建的项目(其他一些工具,docker,bundler等也在玩,但这是重点)目标只是Ubuntu 14.04 64位。
1)Vagrant设置一个ubuntu VM运行Chef与Berkshelf和所有其他Ruby构建的好东西。
2)厨师浏览所有食谱:
可能通过aptitude下载任何缺失的依赖项,通过dpkg安装软件包
从git repos拉
初始化数据库,可能设置权限和创建文件等
有一些工具,例如https://github.com/phusion/traveling-ruby声称有效"冻结"一个ruby应用程序,因此您可以使用解释器和所有依赖项/ gem来运送它。如果不是最后一点,这对于静态应用程序会很好:运行cookbook实际上是部署应用程序的重要步骤。
部署目标没有带宽或带宽有限,是否可以将Chef构建打包到本地包含所有依赖项,以便不需要远程下载?
到目前为止,我的想法是运行一个干净的构建并制作一个chef cache文件夹和aptitude缓存的副本。