在我的工作环境中,我已经升级到比同事更新的ansible版本。偶然地,我一直在使用其版本尚未提供的功能。
有没有办法防止这种情况发生,因为我强迫Ansible假装它实际上是较旧的版本?
答案 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