Ubuntu 同一台笔记本电脑上有多个ansible版本

Ubuntu 同一台笔记本电脑上有多个ansible版本,ubuntu,vagrant,ansible,vagrantfile,Ubuntu,Vagrant,Ansible,Vagrantfile,有人能告诉我如何在一台Ubuntu笔记本电脑上安装两个或多个ansible版本吗 在中发布角色时,我希望在meta/main.yml中设置最低要求版本。但现在我的机器上有了ansible 1.9,所以我遇到了两难: 将1.9写入meta/main.yml 祈祷着写到meta/main.yml较低版本 我在ansible docs上找到了下一条评论: Debian/Ubuntu packages can also be built from the source checkout, run:

有人能告诉我如何在一台Ubuntu笔记本电脑上安装两个或多个ansible版本吗

在中发布角色时,我希望在
meta/main.yml
中设置最低要求版本。但现在我的机器上有了
ansible 1.9
,所以我遇到了两难:

  • 将1.9写入
    meta/main.yml
  • 祈祷着写到
    meta/main.yml
    较低版本
我在ansible docs上找到了下一条评论:

Debian/Ubuntu packages can also be built from the source checkout, run:
$ make deb
因此,我可以编译1.4,1.5,例如用于测试目的。 但我希望能够快速选择使用哪个版本-1.4和1.5用于测试,1.8用于正常日常使用

另外,我还没有找到如何在
Vagrantfile
中指定ansible版本,所以我必须在我的机器上使用正确版本的ansible

谢谢。

我在找到了解决方案

经过一些完全有效的修改,例如:

cd /tmp
git clone -b v1.4.0 --recursive https://github.com/ansible/ansible.git v1.4.0
source ./v1.4.0/hacking/env-setup
ansible --version # will print ansible 1.4

当我在一所大学管理一个研究集群时,我们曾经管理过几十个不同的软件应用程序(其中一些我们有三到四个不同版本的应用程序)

简而言之,此模块工具的工作方式是为每个程序/应用程序创建配置文件,然后使用命令“
模块加载XXX
”或“
模块卸载XXX
”切换环境。例如,我们安装了多个版本的python,用户可以在登录集群后通过发出命令“
module load python/2.4
”或“
module load python/2.6
”加载特定版本

配置文件可以非常简单,只需将值附加到路径,或者更复杂,带有条件,强制加载或卸载其他模块,等等。这些模块文件的文档可以是


对于您的建议,您所要做的就是在不同的目录中安装不同版本的ansible,然后使用模块修改您的路径PYTHONPATH,和/或ANSIBLE_库环境变量,方法与
ANSIBLE/hacking/env setup
脚本相同。

您可以
sudo-pip在一个python中安装ANSIBLE==1.8.4
,并在不同的虚拟环境中安装另一个版本
ANSIBLE==1.9.0.1
。多个VirtualNV也可以基于相同的python版本


另一个完全不同的解决方案是在docker容器中安装ansible。还有ubuntu和debian的图片。

这可能更适合我,我认为这是最简单的方法。我在本地安装了ansible 1.9。为了安装ansible2,我只做了
virtualenv-ansible2;源ansible2/bin/activate;source ansible2/bin/pip安装ansible
。docker再次前往救援。谢谢