利用ansible脚本部署项目环境说明
2016-07-21 10:04
381 查看
(转载于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”
部署可能出现的问题以及解决方案
任务install debs时报错,可以查看报错信息,绝大多数是环境不纯导致软件安装失败。这时可以先彻底卸载对应的软件再重新执行。任务sync local config to remote时报错,可以查看报错信息,可能是某个文件夹不存在,新建即可。
任务init mysql database时报错,可能是由于本地环境不纯导致的安装mysql时加入了密码。可以彻底卸载mysql再重新安装,也可以在ansible上加入密码login_password=”*“,注意在 create users任务上也要添加。
任务create database tables时报错,可能是.env文件上的数据库的账号和密码不对,参考文件/group_vars/mooe-dev.yml文件。
相关文章推荐
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- 基于 ANSIBLE 自动化运维实践
- Linux Generating SSH Keys
- ubuntu下chrome无法同步问题解决
- Ubuntu Linux使用体验
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- Ubuntu /home下中文目录如何修改成英文?
- 开机出现:grub rescue的修复方法
- Ubuntu连接Android真机调试
- 你应该选择 Ubuntu 还是 Fedora?