Ansible发布机

上接Jenkins部署,现在分别在三个环境下,构建三台Ansible发布机器,机器将作为Jenkins的部署节点。
现在将Jenkins机器作为临时的Ansible节点,分别推送三个环境的Ansible部署机器的安装工作。
以UAT环境为例,操作如下

建立Playbook发布项目

进入Jenkins:
新建任务,添加文件夹,任务名: SA;
进入SA目录,新建任务,添加自由风格的软件项目,任务名: playbook,配置如下:

项目类型: 自由风格的软件项目
描述: 将Absible Playbooks 发布到 发布机
源码管理: git, Repository URL: https://github.com/gikoluo/playbooks2.git
构建:Invoke Ant
Ant version: ant or default
Target: build
构建后操作:
Send build artifacts over SSH
SSH Server: 192.168.10.45
Transfers Set:
Source file: dist/playbooks.tar.gz
Remote directory: playbooks/
Exec command: cd /data/playbooks && tar zxvf playbooks.tar.gz && rm playbooks.tar.gz
Flatten files: TRUE

SSH Server: 192.168.33.10
Transfers Set:
THE SAME AS BELOW.

SSH Server: 10.0.1.12
Transfers Set:
THE SAME AS BELOW.

归档成品:
用于存档的文件: dist/playbooks.tar.gz

保存,然后发布, 检查日志输出、目标文件夹代码是否正常。

安装Ansible

#进入Jenkins机器
$ ssh jenkins
#安装pip & ansbile。 通过pip安装可以保证ansible的版本较新。
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
$ pip install ansible
#克隆ansible剧本
$ cd /data
$ git clone https://github.com/gikoluo/playbooks2.git playbook
$ git clone https://github.com/gikoluo/ansible-config.git configs
#配置IP
$ cd playbooks
$ vi uat/sa

[ansible]
192.168.10.45
[jdk8]
192.168.10.45 default_link=1

#将Jenkins登录公钥注入部署机器
$ export IP=192.168.10.45
$ export INVERNTORY=uat
$ export KEY_PATH=~/.ssh/agent/id_rsa
$ ansible-playbook setups/10-installkey.yml -i $INVERNTORY -l "$IP" --private-key=$KEY_PATH #如果使用证书登录,使用本行
$ ansible-playbook setups/10-installkey.yml -i $INVERNTORY -l "$IP" -kK #如果使用密码登录,可以使用本行,输入密码和SUDO密码
$ ssh $IP ip a #测试是否可直接登录成功,如果返回正常,则说明安装密钥正常。
#将Jenkins登录公约注入部署机器
$ ansible-playbook setups/00-setup.yml -i $INVERNTORY -l "$IP" #初始化机器环境
$ ansible-playbook provo/01-ansible.yml -i $INVERNTORY -l "$IP" #安装Ansible
$ ansible-playbook setups/01-oracle-jdk8.yml -i $INVERNTORY -l "$IP" #安装JDK环境,将Ansible机器作为Jenkins节点时需要
$ ansible-playbook setups/01-open-jdk8.yml -i $INVERNTORY -l "$IP" #或安装openJDK环境,将Ansible机器作为Jenkins节点时需要

将发布机器配置为Jenkins节点

进入Jenkins -> 系统管理 -> 节点管理 -> 新建节点 -> 填写下方配置后保存。

节点名称:ansible-uat
节点类型:固定节点
远程工作目录: /data/playbooks
主机: 192.168.10.45
Credentials: 自行配置私钥

保存后,Jenkins会自动启动节点服务。如启动失败,可根据日志检查问题。

部署其他节点

与上方操作相同,完成三台发布机初始化工作,在JENKINS节点中分别命名为ANSIBLE-TEST,ANSIBLE-UAT,ANSIBLE-PROD。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据