同一台笔记本电脑上的多个 ansible 版本
Multiple ansible versions on same laptop
谁能告诉我如何在一台 Ubuntu 笔记本电脑上安装两个或多个 ansible 版本?
当我在 galaxy.ansible.com 中发布我的角色时,我想在 meta/main.yml
中设置最低要求版本。但是现在我的机器上有ansible 1.9
,所以进退两难:
- 将 1.9 写入
meta/main.yml
- 写到
meta/main.yml
低版本,双手合十
我在 ansible 文档中找到了下一条评论:
Debian/Ubuntu packages can also be built from the source checkout, run:
$ make deb
所以我可以编译 1.4, 1.5 来测试。
但我希望能够快速 select 使用哪个版本 - 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
当我在一所大学管理一个研究集群时,我们使用 this modules utility 来管理几十个不同的软件应用程序(其中一些我们有三四个不同的版本)。
简而言之,这个模块工具的工作方式是为每个 program/application 创建配置文件,然后使用命令“module load XXX
”或“module unload XXX
”来切换环境.例如,我们安装了 python 的多个版本,用户可以通过发出命令“module load python/2.4
”或“module load python/2.6
”登录到集群后加载特定版本。
配置文件可以非常简单,只是将值附加到您的 PATH,或者更复杂,带有条件,强制加载或卸载其他模块等。这些模块文件的文档可以是 found here.
对于你的提议,你要做的就是在不同的目录下安装不同版本的ansible,然后使用modules修改你的PATH,PYTHONPATH,and/or ANSIBLE_LIBRARY环境变量与 ansible/hacking/env-setup
脚本的方式相同。
您可以 sudo pip install ansible==1.8.4
在一个 python virtualenv 和 pip 安装另一个版本 ansible==1.9.0.1
在不同的虚拟环境中。多个 virtualenvs 也可以基于相同的 python 版本。
另一个完全不同的解决方案是在 docker 容器中安装 ansible。 Here is nice centos image with ansible already installed in it. 还有 ubuntu 和 debian 镜像。
谁能告诉我如何在一台 Ubuntu 笔记本电脑上安装两个或多个 ansible 版本?
当我在 galaxy.ansible.com 中发布我的角色时,我想在 meta/main.yml
中设置最低要求版本。但是现在我的机器上有ansible 1.9
,所以进退两难:
- 将 1.9 写入
meta/main.yml
- 写到
meta/main.yml
低版本,双手合十
我在 ansible 文档中找到了下一条评论:
Debian/Ubuntu packages can also be built from the source checkout, run:
$ make deb
所以我可以编译 1.4, 1.5 来测试。 但我希望能够快速 select 使用哪个版本 - 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
当我在一所大学管理一个研究集群时,我们使用 this modules utility 来管理几十个不同的软件应用程序(其中一些我们有三四个不同的版本)。
简而言之,这个模块工具的工作方式是为每个 program/application 创建配置文件,然后使用命令“module load XXX
”或“module unload XXX
”来切换环境.例如,我们安装了 python 的多个版本,用户可以通过发出命令“module load python/2.4
”或“module load python/2.6
”登录到集群后加载特定版本。
配置文件可以非常简单,只是将值附加到您的 PATH,或者更复杂,带有条件,强制加载或卸载其他模块等。这些模块文件的文档可以是 found here.
对于你的提议,你要做的就是在不同的目录下安装不同版本的ansible,然后使用modules修改你的PATH,PYTHONPATH,and/or ANSIBLE_LIBRARY环境变量与 ansible/hacking/env-setup
脚本的方式相同。
您可以 sudo pip install ansible==1.8.4
在一个 python virtualenv 和 pip 安装另一个版本 ansible==1.9.0.1
在不同的虚拟环境中。多个 virtualenvs 也可以基于相同的 python 版本。
另一个完全不同的解决方案是在 docker 容器中安装 ansible。 Here is nice centos image with ansible already installed in it. 还有 ubuntu 和 debian 镜像。