Gitlab_ansible_jenkins三剑客⑥Jenkins和ansible集成

ip

角色

备注

10.11.0.215

jenkins服务器

通过deploy运行jenkins服务,deploy用户做了免秘钥登录ansible服务器

10.11.0.210

ansible服务器

通过deploy执行ansible服务,做了免秘钥登录test主机

10.11.0.212

需要被ansible控制的主机

环境准备:

  1. 搭建ansible服务环境,参考前面章节
  2. Ansible和10.11.0.212做免密码登录
  3. Jenkins和ansible服务做免秘钥登录

整理的逻辑:

Jenkins –> 远程调用ansible上的testansible.sh脚本 -->test.example终端机

Jenkins的配置,执行脚本

# 通过jenkins服务器调用ansible(10.11.0.210)上的脚本执行ansible任务

#!/bin/sh

source /etc/profile

ssh [email protected] "/usr/sbin/ip a"

ssh [email protected] "ls"

ssh [email protected] "/bin/sh testansible.sh"

Testansible.sh脚本

[deploy@node1 ~]$ cat testansible.sh

#!/bin/sh

set +x

source /home/deploy/.py3-a2.5-env/bin/activate

source /home/deploy/.py3-a2.5-env/ansible/hacking/env-setup -q

cd /home/deploy

ansible --version

ansible-playbook --version

cat test servers

ansible -i testservers testserver -m command -a "ip addr"

set -x

备注:

由于ansible和jenkins没有部署在同一台服务器中,为了方便就把jenkins挪到了ansible中(因为ansible部署比较麻烦,jenkins简单)

实际生产环境中不建议 gitlab/jenkins/ansible部署在一台机器中

可以将gitlab单独一台机器

jenkins和ansible公用一台机器

主要步骤:

1.在目标服务器中安装java环境

2.拷贝jenkins相关的程序即 /usr/local/tomcat 到目标服务器目录下,解压并赋权 chown -R deploy.deploy /usr/local/apache-tomcat-8.5.39

3.拷贝运行jenkins的用户配置到目标服务器下:/home/deploy/.jenkins目录

由于里面集成了gitlab,原来tomcat的8080口被gitlab占用,修改tomcat端口为8090

直接访问 10.11.0.210:8090/jenkins 就可以正常访问jenkins了

猜你喜欢

转载自www.cnblogs.com/reblue520/p/10616426.html