利用ansible脚本部署项目环境说明,ansible脚本部署项目
利用ansible脚本部署项目环境说明,ansible脚本部署项目
(转载于cdq)
利用ansible脚本部署项目环境说明
主要的步骤分以下几步:
实现两台ubuntu14.04电脑的免密钥ssh登录
部署环境
一、实现两台ubuntu14.04电脑的免密钥ssh登录
首先准备两台电脑(一台也行,可以使用两个账号),电脑A和电脑B。现配置A免密登录电脑B的root用户。
1. 在两台电脑上都安装ssh
- 使用sudo apt-get install openssh-server指令安装ssh。
- 使用ps -e | grep ssh 查看是否开启ssh,如果没有使用sudo service ssh start开启ssh。
- 保证两台电脑都安装了ssh。
- 这是可以用电脑A登录电脑B的root账号,但此时需要密码才能登录。
2. 将电脑A的公钥加入电脑B的配置上
所谓”公钥登录”,原就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
- 在电脑A上执行ssh-keygen -t rsa创建公钥和私钥,保存为$HOME/.ssh/id_rsa,此时不要选择密钥短语
- 使用scp /root/.ssh/id_rsa.pub root@电脑BIP:/root 将电脑Aroot用户的公钥拷贝到电脑B的root目录下。
- 在电脑B上的root家目录下创建.ssh文件。mkdir .ssh
- 将拷贝过来的电脑B的公钥放到.ssh目录下,并命名authorized_keys。cat id_rsa.pub >> .ssh/authorized_keys
- 修改.ssh文件夹的权限。chmod -R 600 .ssh
- 这时就可以在电脑A下使用对应的用户免密钥登录电脑B并使用root权限
二、部署环境
环境部署使用ansible脚本,这时为了保证你的环境能够部署成功,应先清理无用的脏数据,使用指令sudo apt-get -f install来判断是否又依赖包没有安装好。
- 首先把部署代码存放在电脑A的某个目录
- 进入代码的ansible目录,修改hosts文件的mooe IP和mooe-dev IP为电脑B的IP
- 现使用ansible -i hosts -m ping -u root mooe和ansible -i hosts -m ping -u root mooe-dev检测连接是否正确
- 对于纯净的环境,先后执行ansible-playbook -i hosts mooe-dev.yml和ansible-playbook -i hosts mooe-dev.yml –tags “configure”
- 代码部署使用ansible-playbook -i hosts mooe-dev.yml –tags “deploy”
评论暂时关闭