限制旧功能吗?

时间:2018-11-14 10:30:57

标签: ansible ansible-2.x

在我的工作环境中,我已经升级到比同事更新的ansible版本。偶然地,我一直在使用其版本尚未提供的功能。

有没有办法防止这种情况发生,因为我强迫Ansible假装它实际上是较旧的版本?

1 个答案:

答案 0 :(得分:0)

您可以使用python虚拟环境来处理多个ansible版本。我使用pyenv来管理virtualenvs。在Linux上的bash中,您可以按照以下方法进行操作:

安装pyenv:

如果您不想使用默认路径,可以根据自己的喜好更改路径。

git clone https://github.com/pyenv/pyenv.git ${HOME}/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ${HOME}/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ${HOME}/.bashrc
echo 'if command -v pyenv 1>/dev/null 2>&1; then  eval "$(pyenv init -)"; fi' >> ${HOME}/.bashrc

为用户安装pyenv virtualenv:

git clone https://github.com/pyenv/pyenv-virtualenv.git ${HOME}/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
export PYENV_VIRTUALENV_DISABLE_PROMPT=1

为当前shell初始化pyenv环境

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

在一个virtualenv中安装较早的ansible:

pyenv virtualenv old_env
pyenv activate old_env
pip install ansible==2.4

在其他virtualenv中安装新的ansible:

pyenv virtualenv new_env
pyenv activate new_env
pip install ansible==2.7

每日使用量:

您可以随时在virtualenvs之间切换。例如要切换到旧的ansible virtualenv并检查ansible版本,您可以执行以下操作:

pyenv activate old_env
ansible --version