问题标签 [veewee]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
168 浏览

ubuntu-12.04 - 在 Veewee 脚本中更改 shell

我正在使用 Veewee (ubuntu 12.04) 构建我的第一个 Vagrant 盒子,并且在大约 95% 的过程中,我遇到了一些问题。我有一个自定义的安装后脚本,在 之后调用postinstall.sh,它构建了我喜欢的用户环境。它...

  • 安装 curl、zsh 和 git
  • 安装 oh-my-zsh
  • 编写自定义主题文件
  • 编写自定义 .zshrc 文件

所有这一切似乎都很好,但下一个合乎逻辑的步骤是更改我的外壳,以便在我vagrant ssh第一次时一切准备就绪,但我被卡住了。该脚本的最后一行是chsh -s /usr/bin/zsh,但不需要。难道我做错了什么?还有另一种从脚本更改外壳的方法吗?我想我可以/etc/passwd用 sed 更新,但是……呃。如果它可以以比这更清洁的方式完成,那就太好了。

此外,在尝试解决此问题时,我发现了另一个可能的问题。我没有无密码的 sudo 访问权限。在打包的postinstall.sh脚本中,我看到它正在运行以实现这一点,但至少在 12.04 中,/etc/sudoers它是只读的,这可能会阻止进行更改。

其他人注意到这些事情了吗?关于如何解决它们的任何提示?我的搜索一无所获。

谢谢。

0 投票
1 回答
1007 浏览

ruby - Veewee 安装错误

我正在尝试为 vagrant 安装 veewee,以便我可以利用它用来创建基本框的自动化。我可能做错了什么,但我不这么认为...

这是我正在运行的内容:

我还尝试了以下方法:

0 投票
1 回答
325 浏览

provisioning - Veewee, Vagrant and Berkshelf integration

I'm trying to learn how to set up a virtual development environment using VirtualBox, Veewee, Vagrant and Chef-solo with Berkshelf.

Since I'm very new to this, I've read all I could find online, but I think I'm missing something crucial. Hopefully somebody here can help me understand.

The part I'm having problems with is provisioning the Veewee-generated Vagrant box using Chef-solo and Berkshelf.

From my point of view, the main advantage of using Vagrant and virtual environments is that they're reproducible and portable, so I do not understand why I have to install the Berkshelf gem and download recipes on my local host machine.

Why isn't all this done on the guest?

If I give my customized Vagrantfile to someone else, vagrant up will not work on their machine because the Vagrantfile references local recipes the other person will not have by default. Installing Berkshelf and recipes on their machine as well kinda defeats the purpose and so does referencing recipes available on the web somewhere.

Isn't it a better idea to just install the Berkshelf gem on the guest, download recipes locally there and tell Vagrant to use the recipes on the guest? I couldn't find any reference in the new Vagrant documentation on how to do this, but in the old version specifying cookbook folders within the virtual machine was an available option.

So basically what I'd like to know is:

  1. Is my reasoning a valid option or am I missing either a useful tool or the general picture?

  2. If my reasoning is valid, could you please point me in the right direction of how to do this? I was thinking of finding out how to customize the Veewee templates for building the Vagrant base box, using a post installation script to add Berkshelf and download recipes, but perhaps it's either overkill or the wrong way to go about this?

Thanks in advance!

0 投票
2 回答
3873 浏览

python - 使用 Vagrant 在本地运行 Heroku Cedar

我想使用 Vagrant 在尽可能接近 Heroku 的 Cedar 堆栈的环境中开发我的 Django Heroku 应用程序。

到目前为止,我为构建模拟环境找到的最佳解决方案是 Eric Holmes 的出色https://github.com/ejholmes/vagrant-heroku。但是,这个 vagrant box 目前使用 python 2.6.x 而不是我的应用程序使用的 Python 2.7.4,Heroku 默认使用。

我发现的另一个资源是 Heroku 的https://github.com/heroku/stack-images。我还没有尝试过,但它似乎提供了一种在本地创建雪松堆栈的方法。它以 Python 2.7.2 结束。

其中哪一个(或其他)是最好的方法? 我有一个现在可以工作的开发环境——它使用 Heroku 使用的所有相同软件(PostgreSQL、Python 2.7.4 等)——但我想模拟 Heroku 环境的其他一些方面(内存可用、磁盘空间、多机架构等)。

我倾向于使用 Eric Holmes 的盒子并根据https://askubuntu.com/questions/101591/how-do-i-install-python-2-7-2-on-ubuntu添加 Python 2.7.4 。我会为 Eric 的工作提供补丁,但我不是 Rubyist/veewee...

更新 1: 另一个可能的资源: https ://github.com/torchbox/vagrant-django-base 。

更新 2: 我决定通过改编上述来源和其他来源来推出自己的作品。这些是我目前成功使用的文件(Vagrantfile 和 vagrant_data/install.sh): https ://gist.github.com/ErikEvenson/5801503 。这让我在 Ubuntu 12.04 512MB 机器上使用 Python 2.7.3 和 PostgresSQL 9.2.4。

我想用第二个盒子拆分数据库服务器,并在 Ubuntu 10.04 上使用 Python 2.7.4 获取应用服务器。

更新 3:我的设置已经进化。这是我当前的流浪配置: https ://gist.github.com/ErikEvenson/9763878 。

更新 4:本周我对我的设置进行了几次更新。最新的是https://gist.github.com/ErikEvenson/9763878。注意:

  • 使用 NFS 而不是 virtualbox 文件夹同步 - 巨大的性能提升。
  • 避免当前 virtualbox 版本中的访客添加错误。
  • 将新可用的 Vagrant Cloud 用于版本化的基本框。

更新 5:这里有几个更新——主要是软件版本。最新的是https://gist.github.com/ErikEvenson/9763878。注意:

  • 使用 Vagrant 1.6.3
  • 使用 PostgreSQL 9.3.3
  • 使用 python 2.7.7 并从源代码安装它。python 2.7.3 保留为系统 python。
  • 锁定所有依赖版本——尤其是那些通过 apt-get 和 npm 安装的版本。
  • 使用 hashcorp/precise64 作为基础框。

要使用的文件结构是这样的:

更新 6:打开 vagrant-vbguest,因为 VirtualBox 4.3.14 修复了一些错误。

0 投票
1 回答
173 浏览

ruby - 使用 Veewee 创建 VirtualBox 时如何传输一些文件

我正在使用 Veewee 构建一个虚拟盒子,并且我希望有一个脚本可以在新创建的盒子上调用另一个帮助脚本。

postinstall-files我知道的唯一方法是在 的部分中提供主脚本和辅助脚本definition.rb,如下所示: :postinstall_files => [ "main.sh","helper.sh"]

我的问题是 Veewee 正在尝试执行所有脚本,包括帮助脚本(我不想要)。

所以我很感兴趣是否有另一种方法可以helper.sh在虚拟机上传输我的脚本,以便从main.sh脚本中调用。

0 投票
2 回答
955 浏览

powershell - 如何在 Windows 上安装 Veewee?

我已经安装了:

返回:术语“bundle”未被识别为 cmdlet 的名称

我该如何进行?

0 投票
2 回答
962 浏览

vagrant - 如何组织 Bento - Veewee - Vagrant 项目

我正在尝试使用 Bento、Veewee 和 Vagrant 来自动化配置 VM 的过程。这种方法在简化开发、开发测试和 QA 流程方面有很大的希望。

(对于那些没有遇到过这些的人——Vagrant 可以轻松地在 Virtual Box、VMWare、EC2 等中快速设置/拆除虚拟机;Veewee 简化了为 Veewee 构建基础盒的过程;Bento 简化了定义基本框,然后自动化 Veewee 的操作)。

问题是,Bento、Veewee 和 Vagrant 的相互关系令人困惑。许多定义文件和一些操作在层间重复,不清楚哪一层应该获得特定于我的项目的更新。Ruby 环境也使这变得相当复杂——似乎 Bento 命令都需要从 Bento 目录运行,所以盒子和其他文件最终会出现在不合逻辑的地方。

任何人都可以建议使用这种工具组合的文件布局和工作流程吗?

0 投票
2 回答
93 浏览

vagrant - 无法使用提供程序 Virtualbox 实例化框 MyServer,定义“MyServer”不存在

我是 vagrant 的新手,正在构建我的第一个 basebox。安装和配置下载的模板(Oracle Linux)后,我尝试执行“vagrant basebox export”,但出现以下错误:

无法使用提供程序 Virtualbox 实例化框 MyServer,定义“MyServer”不存在。你确定你在顶层目录吗?

我正在从 MyServer.vbox 所在的目录执行(我认为这是正确的)。

我正在运行 Oracle Virtual Box 3.x、ruby 1.9.3、vagrant (gem) 1.07 和 veewee (gem) 0.3.12。

我能够执行一些 basebox 命令,即 vagrant basebox 模板。

任何帮助表示赞赏。

0 投票
2 回答
486 浏览

centos - veewee 在等待 ssh 登录时在等待什么?

当 veewee 显示以下消息时,Waiting for ssh login on 127.0.0.1 with user veewee to sshd on port => 7222 to work, timeout=10000 sec它究竟在等待什么?

据我所知,veewee 在主机上的 7222 端口上有一个 ssh 服务器,它正在等待它。这意味着来宾中的某些东西将连接回它。但是,我无法弄清楚那可能是什么——因此我无法进一步调试。

更多详细信息

我正在尝试使用CentOS-6.3-x86_64-minimal模板为 vagrant 构建一个 virtualbox 映像。我的步骤:

  1. bundle exec veewee vbox define 'ejs-centos6.3-1' 'CentOS-6.3-x86_64-minimal'
  2. wget http://mirror.symnds.com/distributions/CentOS-vault/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso
  3. bundle exec veewee vbox build 'ejs-centos6.3-1'

CentOS 安装似乎运行没有错误,但它一直在等待 ssh 登录。