注意:首先准备jenkins服务器  如何搭建jenkins

由于上篇文章中jenkins是采用war并部署在tomcat中来完成的安装,所以这里隆重介绍下启动tomcat的用户:tomcat,下面会用到,文章中启动jar和tomcat都是使用的tomcat用户,注意jenkins和目标服务器的用户要一致,不然ansible推送和调用jar的时候可能会出现意想不到的问题;详细的内容会在下一节搭建job来说明。

安装ansible

python 我就使用系统自带版本了

也可自行升级python版本

本文不是专注介绍ansible的,虽然ansible网上安装方式有很多,但这里就是用最简单的方式安装了

yum -y install ansible

安装完成后 输入如下命令查看安装情况

[tomcat@RZ-DEV-COM-XZSX-JENKINS- xzsx-micro-parent]$ python --version
Python 2.7.
[tomcat@RZ-DEV-COM-XZSX-JENKINS- xzsx-micro-parent]$ ansible --version
ansible 2.4.2.0
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/tomcat/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2./site-packages/ansible
executable location = /bin/ansible
python version = 2.7. (default, Nov , ::) [GCC 4.8. (Red Hat 4.8.-)]

配置hosts   /etc/ansible/hosts

[msa_server]
192.168.14.5
[task_server]
192.168.14.6

注: 这里我用2台节点来分别演示ansible模块推送成功和不成功来做下对比

配置ssh

在ansible主机的tomcat用户下,执行

ssh-keygen -t rsa
[tomcat@RZ-DEV-COM-XZSX-JENKINS- ansible]$ cd /home/tomcat/.ssh/
[tomcat@RZ-DEV-COM-XZSX-JENKINS- .ssh]$ ll
total
-rw------- tomcat tomcat Jan : id_rsa
-rw-r--r-- tomcat tomcat Jan : id_rsa.pub

可以看到我们的秘钥对已经生成了,然后将公钥拷贝到192.168.14.5中

ssh-copy-id -i root@192.168.14.5

测试免密结果

[tomcat@RZ-DEV-COM-XZSX-JENKINS- .ssh]$ ssh root@192.168.14.5
Warning: Permanently added '192.168.14.5' (ECDSA) to the list of known hosts.
Last login: Sun Jan :: from 192.168.14.2
[root@RZ-DEV-APP-XZSX-MSA- ~]#
[root@RZ-DEV-APP-XZSX-MSA- ~]# cd /root/.ssh/
[root@RZ-DEV-APP-XZSX-MSA- .ssh]# ll
total
-rw------- root root Jan : authorized_keys
[root@RZ-DEV-APP-XZSX-MSA- .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzbdGnAUp9CeySymKNeo6mlfBDijsXM3ptP0P+uO/3XUMlZiFujsACb05KThZ+Q8JpYRNNijnL72RHoBix+E618w2TqCtAQ9pzxnO/dgcCgoZVWc9nP8HQIkr+mOEKQHfK8yQZlQ0q+3XEr3vRcjNWKzMt7yPSj8l/F9MWBUtGYGffwVDNfv8p3Y4SRHaL4/ExFmZ7kGtmIqEb6TWeEJhLwXtodOlqXpV3uJAHzHelRDKiecJCIwi2kj/BhmAIU1KKAk/MrLjCYTkLI1udhNxfnxc5RELfwUQ+rnXHkSa661p7ysOSSIj+wdkJUL719vVu8EZhYQw+ddSAHrX6c/ tomcat@RZ-DEV-COM-XZSX-JENKINS-
[root@RZ-DEV-APP-XZSX-MSA- .ssh]#

测试我们ansible的hosts文件,注意,由于是在tomcat用户下生成的ssh秘钥,所以需要在tomcat用户下执行如下命令

[tomcat@RZ-DEV-COM-XZSX-JENKINS- ~]$  ansible all -m ping
192.168.14.6 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Warning: Permanently added '192.168.14.6' (ECDSA) to the list of known hosts.\r\nPermission denied (publickey,password).\r\n",
"unreachable": true
}192.168.14.5 | SUCCESS => {
"changed": false,
"ping": "pong"
}

可以看到由于192.168.14.5这台机器我们配置了tomcat用户下ssh秘钥,所以结果是success,而192.168.14.6没有配置,因此报错了,好了下面让我们在14.6这台服务器上也配置下ssh

[tomcat@RZ-DEV-COM-XZSX-JENKINS- ~]$ ssh-copy-id -i root@192.168.14.6
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: key(s) remain to be installed -- if you are prompted now it is to install the new keys
Warning: Permanently added '192.168.14.6' (ECDSA) to the list of known hosts.
root@192.168.14.6's password: Number of key(s) added: Now try logging into the machine, with: "ssh 'root@192.168.14.6'"
and check to make sure that only the key(s) you wanted were added. [tomcat@RZ-DEV-COM-XZSX-JENKINS- ~]$ ssh root@192.168.14.6
Warning: Permanently added '192.168.14.6' (ECDSA) to the list of known hosts.
Last failed login: Sun Jan :: CST from 192.168.14.2 on ssh:notty
There were failed login attempts since the last successful login.
Last login: Fri Jan :: from 192.168.14.2
[root@RZ-DEV-APP-XZSX-TASK- ~]# cat /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzbdGnAUp9CeySymKNeo6mlfBDijsXM3ptP0P+uO/3XUMlZiFujsACb05KThZ+Q8JpYRNNijnL72RHoBix+E618w2TqCtAQ9pzxnO/dgcCgoZVWc9nP8HQIkr+mOEKQHfK8yQZlQ0q+3XEr3vRcjNWKzMt7yPSj8l/F9MWBUtGYGffwVDNfv8p3Y4SRHaL4/ExFmZ7kGtmIqEb6TWeEJhLwXtodOlqXpV3uJAHzHelRDKiecJCIwi2kj/BhmAIU1KKAk/MrLjCYTkLI1udhNxfnxc5RELfwUQ+rnXHkSa661p7ysOSSIj+wdkJUL719vVu8EZhYQw+ddSAHrX6c/ tomcat@RZ-DEV-COM-XZSX-JENKINS-
[root@RZ-DEV-APP-XZSX-TASK- ~]#
[tomcat@RZ-DEV-COM-XZSX-JENKINS- ~]$ ansible all -m ping
192.168.14.6 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.14.5 | SUCCESS => {
"changed": false,
"ping": "pong"
}
[tomcat@RZ-DEV-COM-XZSX-JENKINS- ~]$

安装git

我们的jenkins需要从git中下载项目,所以需要在jenkins服务器中安装git

yum -y install git
[tomcat@RZ-DEV-COM-XZSX-JENKINS- ~]$ git --version
git version 1.8.3.1

jenkins配置git

安装jenkins插件

Maven Integration
Hidden Parameter

Active Choices

Ansible
以上四个插件就够了
 

等待安装完毕即可

jenkins配置全局信息

以上的jdk,maven,ansible 需要按着自己服务器上的路径配置即可,到此为止我们的jenkins基础配置就完成了,我将会在下一章中来交大家新建 java 多模块和单模块的发布

Centos 7.2 Jenkins+Ansible+Gitlab 基础配置的更多相关文章

  1. Jenkins Ansible GitLab 自动化部署

    Jenkins Ansible GitLab 自动化部署 DevOps https://www.cnblogs.com/yangjianbo/articles/10393765.html https: ...

  2. Jenkins+Ansible+Gitlab自动发布/回滚Spring项目

    一.实现方法流程图 流程图如下:代码托管在本地GitLab上(为了复现整套流水线,我直接使用了GitHub,懒得再搭建GitLab),开发完成后提交代码到代码仓库,[自动]触发Jenkins进行持续集 ...

  3. Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建

    实际操作 准备linux初始环境 关闭防火墙 systemctl stop firewalld 开机自己关闭 systemctl disable firewalld 设置安全配置 为关闭 vim /e ...

  4. Jenkins + Ansible + Gitlab之gitlab篇

    前言 持续交付 版本控制器:Gitlab.GitHub 持续集成工具:jenkins 部署工具:ansible  课程安排 Gitlab搭建与流程使用 Ansible环境配置与Playbook编写规范 ...

  5. Jenkins+Ansible+Gitlab自动化部署三剑客

    一.gitlab安装 环境:centos 7 x64 1.关闭防火墙 systemctl stop firewalld systemctl disable firewalld 2.禁用selinux ...

  6. Jenkins + Ansible + Gitlab之ansible篇

    Ansible介绍 什么是Ansible? Ansible是一个开源部署工具 开发语言:Python 特点:SSH协议通信,全平台,无需要编译,模块化部署管理 作用:推送Playbook进行远程节点快 ...

  7. Jenkins+Ansible+Gitlab自动化部署三剑客-Ansible本地搭建

    可以通过git bash连接linux 关闭防火墙,禁用防火墙开机启动,并更爱selinux文件,重启 重新登录并检查禁用 getenforce 安装git yum -y install git ns ...

  8. Centos 7 minimal install 后的基础配置

    Centos 7 基础设置: 修改默认语言: 不再是修改 /etc/sysconfig/i18n, 而是要修改 /etc/locale.conf, 以及 /etc/yum/pluginconf.d/l ...

  9. 在Docker内安装jenkins运行和基础配置

    这里是在linux环境下安装docker之后,在doucer内安装jenkins --------------------docker 安装 jenkins---------------------- ...

随机推荐

  1. [转]Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)

    最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非 ...

  2. 【9001】Internet消息发布

    Time Limit: 1 second Memory Limit: 256 MB 问题描述 设Internet上有N个站点,通常从一个站点发送消息给其他N-1个站点,需依次发送N-1次.这样从一个站 ...

  3. C# 使用反射获取私有属性的方法

    本文告诉大家多个不同的方法使用反射获得私有属性,最后通过测试性能发现所有的方法的性能都差不多 在开始之前先添加一个测试的类 public class Foo { private string F { ...

  4. element-ui tree 根据不同叶子节点设置是否显示复选框

    公司业务要求不同根节点配置显示与否复选框,官方文档没有这样的配置,所以想到了修改element-ui源码. 1.这里将“node_modules\element-ui\packages”下的tree文 ...

  5. linux自旋锁函数

    我们已经看到 2 个函数, spin_lock 和 spin_unlock, 可以操作自旋锁. 有其他几个函 数, 然而, 有类似的名子和用途. 我们现在会展示全套. 这个讨论将带我们到一个我们无 法 ...

  6. HDU 1358 Period(KMP next数组运用)

    Period Problem Description For each prefix of a given string S with N characters (each character has ...

  7. 2019.12.15 QLU and SNDU期末联赛

    题目列表: 1582.柳予欣的舔狗行为 1587.柳予欣的女朋友们在分享水果 1585.柳予欣和她女朋友的购物计划 1579.FFFFFunctions 1588.Zeckendorf 1586.柳予 ...

  8. H3C创建本地用户

    [H3C]Local-user wang                 //创建本地用户--对应上面scheme的 [H3C-luser-wang]Password cipher 456      ...

  9. 文本框(代替input)输入长度限制、提示

    <div class="inform_content_text"> <textarea name="name" placeholder=&qu ...

  10. Xgboost参数调节

    转自:https://segmentfault.com/a/1190000014040317 整体: # 1.调试n_estimators cv_params = {'n_estimators': [ ...