环境

hostname:vm72      ip:192.168.1.72      # jenkins服务器
hostname:vm73      ip:192.168.1.73      # 部署机器
hostname:vm114    ip:192.168.1.114    # git 服务器

jenkins安装


1、插件安装

系统管理 —> 插件管理 —> 已安装,检查是否有“Git plugin”和“Publish over SSH”两个插件,没有到可选插件里面进行安装

Publish over SSH,该插件主要是构建完毕后自动发包到配置的服务器具体路径中

CentOS 7 安装配置 jenkins_服务器

2、重启 jenkins

systemctl restart jenkins

 3、jenkins 服务器免密登陆 部署服务器

# -f 生成自定义密钥
ssh-keygen -f ~/.ssh/jenkins

# 把公钥传给部署机器,-i 发送指定的密钥
ssh-copy-id -i ~/.ssh/jenkins.pub root@192.168.1.73

# 但是ssh命令默认只会读取id_rsa这个私钥文件,需要添加配置文件 ~/.ssh/config
vi ~/.ssh/config

# 添加
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/jenkins

4、配置插件

系统管理 —> 系统设置 —> Publish over SSH

Passphrase Path to key,刚没有设置,所以这为空

Key:填入私钥

SSH Servers:新增一组部署机器

name:vm73

hostname:192.168.1.73

username:root

Remote Directory: /

测试是否连通,显示 Success 表示已通,点击应用

CentOS 7 安装配置 jenkins_系统管理_02

CentOS 7 安装配置 jenkins_git_03

 

新建项目

1、回到首页,新建一个任务,选择构建一个自由风格的软件项目

CentOS 7 安装配置 jenkins_服务器_04

2、配置

源码管理   

1、选择 Git


2、Repositories

Repository URL   git@192.168.1.114:/opt/git/rubis.git 

添加 credentials 凭据

类型:SSH Username with private key

Usename:root

Private Key:jenkins服务器 root 用户生成的密钥

 

构建触发器构建环境 为空

构建 

选择 Send files or execute commands over SSH

name   输入 vm73

Source files  输入 **/**, 表示要发布的代码为全部文件

Remote directory   输入 /tmp/jenkins ,代码要部署的路径

CentOS 7 安装配置 jenkins_系统管理_05

CentOS 7 安装配置 jenkins_git_06

3、点击左侧(Build Now)​​立即构建​​​,会出现​​构建历史​​,其中 #1 表示第一次构建

CentOS 7 安装配置 jenkins_git_07

4、点击 #1,点击​​控制台输出,显示已成功​

 

CentOS 7 安装配置 jenkins_git_08

5、在 192.168.1.73 部署机器上面查看,发现文件已经过来了,如果 git 服务器上面做了变更,继续点击​​立即构建​​,如果构建成功,那么在目标部署机器上也可以看到变更的内容

[root@vm73 tmp]# ll /tmp/jenkins/
总用量 0
-rw-r--r--. 1 root root 0 10月 16 14:54 1.txt

6、Poll SCM 自动构建

构建触发器  选择 Poll  SCM,输入 * * * * *,代表如果有人提交代码,1分钟后触发这个job

CentOS 7 安装配置 jenkins_git_09