今天我们来学习jenkins 的主要功能 ,对代码的持续化构建,首先我们来配置构建过程中需要的 jdk 环境以及工具
同步一个 jdk 或者你 rpm 安装都可以 ,下载 ant , maven 构建工具,jenkins 系统设置
Manage Jenkins --> Configre System --> 配置环境 Configre System 是一个全局设置
Jdk
Ant
Maven
今天我们要使用jenkins实现如下工作流程:
自动获取 svn 代码 ---> jenkins 构建 ---> 推送至指定服务器 ---> 执行服务器上相应脚本, 更新war包内容,重启服务
jenkins推送文件,执行远程脚本需要安装插件 Publish Over SSH Plugin 功能如下 :
这个插件完全实现了我们需要的功能,jenkins 强大的插件库也是它的一大优势 , 安装方法第一篇笔记介绍过了
通过一个实例,展示整个流程
setp 1 新建一个项目
-
New Item --> Build a maven2/3 project POM.xml 文件由开发人员提供
setp 2 编辑项目内容
-
Maven project name : 填写项目名称
-
Description : 项目内容描述
-
-
Source Code Management --> Subversion --> 填写 Repository URL(svn代码路径) --> 首次需要我们输入密码进行验证,验证成功后jenkins会自动记录密码
-
填写好svn地址进行认证, 点击 (Maybe you need to ?) 进入认证页面,输入用户名密码,通过后保存密码
-
-
-
每个项目的第一次svn验证通过之后都会保存并更新密码,因为我们在全局配置configre system里已勾选
OK , 到此为止,我们jenkins从svn取代码的环节就完成了
setp 3 bulid 环节
-
-
-
Root POM : 填写pom.xml 名称,这个文件在项目中已有,maven构建时使用的配置文件
-
Goals and options : 跳过测试,此参数是maven项目的参数,由开发人员提供
触发构建三种方式 :
1. 手动构建
2. URL触发构建
3. 定时任务
H : 定义Hashes获取随机值的范围,每天的AM 8点18,PM 7:18各触发一次构建
The H
symbol can be used with a range. For example, H
H(0-7) * * *
means some time between 12:00 AM (midnight) to 7:59 AM. You
can also use step intervals with H
, with or without ranges.
The H symbol can be thought of as a random value over a range,
but it actually is a hash of the job name, not a random function, so that the
value remains stable for any given project.
setp 4 Post Bulid 推送 war包,解压重启服务
-
-
首先配置 Publish Over SSH Plugin
-
-
Manage Jenkins --> Configure System --> Publish over SSH
-
-
-
Passphrase : 使用私钥时候的口令信息 (所使用的私钥是之前ssh-keygen生成的,jenkins服务器至目标主机已做公钥认证)
Path to key : 私钥文件位置
Key : 也可以填写私钥至表格中
配置SSH Server : 配置的ssh server可在项目中选用
Name : 服务器名称
Hostname : 填写服务器地址
Username : 验证时使用的用户名
Remote Diretory : 登陆后进入的远程目录
Test Configuration :测试jenkins服务器能否使用此配置登陆目标服务器,成功就会有 "Success" 字样, apply save
再回到我们刚才创建的项目
当bulid成功后,执行我们的推送任务和执行脚本
选择要推送服务器的label 标签
jenkins会使用sftp去发送文件 --> 登陆远程主机执行脚本 查看日志 : Project --> Bulid History --> Console Output
到此为止,我们整个的流程就介绍完了。多学习自动化工具,整合流程,为我们的运维工作添砖加瓦。
emar_Cail
参考资料 :
阅读(1617) | 评论(0) | 转发(0) |