每当我为我们的一个项目启动游民时,我都会经历以下咒语:
vagrant up
vagrant ssh
sudo su deploy
supervisorctl stop local
workon odoo-8.0
/home/deploy/odoo/build/8.0/openerp-server -c /home/deploy/odoo/local/odoo_serverrc
以一种让我看到终端输出的方式运行服务器。有没有办法可以把这一切都打包好所以我可以说; vagrant dev
或其他一些?
答案 0 :(得分:0)
您可以使用shell配置程序。
在你的vagrantfile中,你可以这样做:
$script = <<SCRIPT
echo I am provisioning...
date > /etc/vagrant_provisioned_at
SCRIPT
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: $script
end
您可以替换
echo I am provisioning...
date > /etc/vagrant_provisioned_at
使用您自己的命令。
在创建环境的第一个“vagrant up”上,运行配置。如果环境已经创建并且up只是恢复计算机或启动它,除非明确提供--provision标志,否则它们将不会运行。
还有很多好方法可供选择,我也建议使用Ansible。这是您可以阅读的文档: https://docs.vagrantup.com/v2/provisioning/basic_usage.html
答案 1 :(得分:0)
首先,使用您的命令创建一个shell脚本:
#!/bin/bash
vagrant up
vagrant ssh
sudo su deploy
supervisorctl stop local
workon odoo-8.0
/home/deploy/odoo/build/8.0/openerp-server -c /home/deploy/odoo/local/odoo_serverrc
把它放在你的客人的某个地方用ansible。接下来,将/home/vagrant/.bashrc文件复制到您的ansible文件/文件夹中。添加行
bash /path/to/shellfile.sh
到.bashrc并确保ansible将其复制到您的访客中。
之后,每次登录guest虚拟机时都应执行shell脚本。