文档章节

使用Virtualenv隔离安装Ansible

408582708
 408582708
发布于 2016/11/02 22:46
字数 515
阅读 67
收藏 0

因为ansible本身由python编写而成, 所以我们可以使用python下的virtualenv模块对我们所需的ansible发行版进行隔离安装, 这样既能保证我们原有的job还可以正常在stable version下safe running, 而且又不影响我们new job在新版本下适配新的模块.

一.安装virtualenv

1.保证系统默认YUM源

2.安装easy_install

# whoami

root

# yum install python-setuptools python-setuptools-devel

3.安装pip

# easy_install pip

4.安装virtualenv

# pip install virtualenv

二.配置系统非root用户使用新版本ansible.

Tip: 我们正常部署过程中建议使用一个普通用户来跑我们日常的ansible job

1.创建用户
# useradd deploy

2.切换到该用户进行初始配置.
# su - deploy

##创建virtualenv 隔离环境,环境名 : .virtualenv (可以自定义名称)
$ virtualenv .virtualenv

$ cd .virtualenv

$ ls

bin  include  lib  lib64  pip-selfcheck.json

3.使用git下载ansible最新发行版.

$ git clone git://github.com/ansible/ansible.git

4.进入virtualenv环境

$ source /home/deploy/.virtualenv/bin/activate

(.virtualenv) [deploy@www .virtualenv]$

5.安装必要的ansible依赖包

(.virtualenv) [deploy@www .virtualenv]$  pip install paramiko PyYAML jinja2

(.virtualenv) [deploy@www .virtualenv]$  cd ansible

(.virtualenv) [deploy@www ansible]$ git submodule update --init lib/ansible/modules/core

(.virtualenv) [deploy@www ansible]$ git submodule update --init lib/ansible/modules/extras

6. 加载ansible2.3

Tip: env-setup 是 ansible 为 hacker 准备的一个脚本,用来设置一些ansible所需的环境变量,且必须按如下完整路径执行

(.virtualenv) [deploy@www ansible]$ . /home/deploy/.virtualenv/ansible/hacking/env-setup -q

(.virtualenv) [deploy@www ansible]$ ansible --version
ansible 2.3.0 (devel 333f6d447b) last updated 2016/11/02 18:04:28 (GMT +800)
  lib/ansible/modules/core: (detached HEAD d2106f1c92) last updated 2016/11/02 19:32:48 (GMT +800)
  lib/ansible/modules/extras: (detached HEAD 9a01d01f78) last updated 2016/11/02 19:33:45 (GMT +800)
  config file =configured module search path = Default w/o overrides

7. 退出virtualenv

(.virtualenv) [deploy@www ansible]$ deactive 

配置完毕

以后若想使用新版本ansible则直接执行下面两行命令即可.

# source /home/deploy/.virtualenv/bin/activate

# . /home/deploy/.virtualenv/ansible/hacking/env-setup -q

本文转载自:http://www.showerlee.com/archives/1862

共有 人打赏支持
408582708
粉丝 0
博文 100
码字总数 67651
作品 0
朝阳
程序员
Python-Virtualenv

注释 在使用前ubuntu默认的解释器是python2.7,而且里面已经安装好了和 使用 由于一些兼容性问题,电脑上默认的python版本只能只能使用python2.7,所以创建命令要另外使用指定解释器 激活虚拟...

ormsf
08/27
0
0
python Flask 安装

第1步:确保本机已经安装有python,下载easyinstall到本地某一目录,双击ezsetup.py,python将自动下载到python安装目录/Scripts 下面,然后在系统环境变量的PATH中添加easyinstall所在的目录...

quanpower
2013/03/13
0
1
python——虚拟环境之virtualenv(windows10,64位)

1 问题   当我们拥有两个甚至多个项目A、B、C......,各个项目正常运行需求的python运行环境都不相同。而默认情况下,不管哪个项目,使用的都是全局的Python环境。上述情况,造成的问题就是...

翠竹09
08/10
0
0
Windows virtualenv下安装Scrapy的各种依赖

Scrapy依赖的Openssl、libxml在Windows各种麻烦,先照着Scrapy官方安装教程解决Openssl依赖,然后依据pip install Scrapy命令的出错提示再安装几个包的Windows版本,去包的官网下或Pypi找。 ...

Honghe
2013/07/12
0
3
python的virtualenv和pip

virtualenv --no-site-packages -p python2.xx 通过virtualenv 来隔离环境,避免使用全局的第三方包,-p 来确定需要的python版本 通常不同环境下最伤人的就是版本问题 virtualenvwrapper 相关...

李勇2
2012/11/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 到底谁是小公猫……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Trivium的单曲《Throes Of Perdition》 《Throes Of Perdition》- Trivium 手机党少年们想听歌,请使劲儿戳(这里) @小鱼丁:...

小小编辑
57分钟前
113
3
基础选择器

注意:本教程参考自网上流传的李兴华老师的jquery开发框架视频,但是苦于没有相应的配套笔记,由我本人做了相应的整理. 本次学习的内容 学习jquery提供的各种选择器的使用,掌握了jquery选择...

江戸川
今天
1
0
Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
今天
2
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部