我正在使用Vagrant和Chef来自动设置开发节点。我需要安装Oracle Java,遗憾的是无法再自动从Oracle下载:
重要说明截至2012年3月26日,您无法再直接下载 来自Oracle网站的JDK,没有使用完整的浏览器。 出于这个原因,java :: oracle配方强制你设置一个 HTTP可访问的私有存储库。最好覆盖 使用角色的虚拟URL。
我想将下载的JDK与我的Vagrantfile捆绑在一起,这样就可以自动安装它而无需在内部Web服务器上发布JDK。有没有办法可以将文件注入chef-solo的文件缓存中,以便在安装配方时找到它?
看起来像chef-solo配方支持file_cache_path属性。我曾想过将它设置为Vagrant共享的文件夹,但这似乎不起作用。
答案 0 :(得分:0)
我们如何为我们安装的许多软件包解决这个问题,就是创建一个本地squid代理服务器,用于我们使用Vagrant启动的实例。
我们第一次下载软件包时,会按照您的预期运行。但是在接下来的运行中,事物在本地缓存并且运行得更快。
当然,这并未解决您在Oracle JDK中遇到的具体问题,因为您无法将其作为配方的一部分下载。
答案 1 :(得分:0)
使用社区java食谱并设置
override['java']['oracle']['accept_oracle_download_terms'] = true
这就是我在所有服务器上安装java的方法。