利用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”

部署可能出现的问题以及解决方案

相关内容

    暂无相关文章