任何人都可以告诉如何在一台Ubuntu笔记本电脑上安装两个或更多的ansible版本吗?
当我在galaxy.ansible.com中发布我的角色时,我想在meta/main.yml
中设置最低要求版本。但现在我的机器上有ansible 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版本,所以我必须在我的机器上安装合适的版本?
谢谢。
答案 0 :(得分:3)
通过一些完全可行的修改示例:
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
答案 1 :(得分:2)
您可以在一个python virtualenv中sudo pip install ansible==1.8.4
并在另一个虚拟环境中pip安装另一个版本ansible==1.9.0.1
。多个virtualenvs也可以基于相同的python版本。
另一个完全不同的解决方案是在docker容器中安装ansible。 Here is nice centos image with ansible already installed in it.还有ubuntu和debian图像。
答案 2 :(得分:1)
当我在大学管理一个研究集群时,我们使用this modules utility来管理几十种不同的软件应用程序(其中一些我们有三个或四个不同版本)。
简而言之,此模块工具的工作方式是您为每个程序/应用程序创建配置文件,然后使用命令“module load XXX
”或“module unload XXX
”来切换环境。例如,我们安装了多个版本的python,用户可以通过发出命令“module load python/2.4
”或“module load python/2.6
”登录到群集后加载特定版本。
配置文件可以非常简单,只需将值附加到PATH,或者更复杂,带有条件,强制加载或卸载其他模块等。这些模块文件的文档可以是found here。
对于你提出的建议,你要做的就是在不同的目录中安装不同版本的ansible,然后使用模块修改你的PATH,PYTHONPATH和/或ANSIBLE_LIBRARY环境变量,方法与{{1}相同。脚本没有。