一,自动化部署

“自动化”的具体体现:向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序。

三,Jenkins+SVN+Tomcat配置 - 图1

二,环境配置

  • 创建虚拟机安装 Linux 系统
  • 版本控制子系统
    • Subversion 服务器
    • 项目对应版本库
    • 版本库中钩子程序
  • 持续集成子系统
    • JDK
    • Tomcat
    • Maven
    • Jenkins
  • 主体程序
    • SVN 插件
    • Maven 插件
    • Deploy to Web Container 插件
  • 应用发布子系统
    • JDK
    • Tomcat

三,版本控制子系统

版本库的访问账号密码

三,Jenkins+SVN+Tomcat配置 - 图2

svnserve.conf 文件中 anon-access 一定要打开注释并设置为 none

三,Jenkins+SVN+Tomcat配置 - 图3

四,应用发布子系统

Tomcat 服务器的账号密码

配置文件位置:/opt/tomcat/conf/tomcat-users.xml

  1. <role rolename="manager-gui"/>
  2. <role rolename="manager-script"/>
  3. <role rolename="manager-jmx"/>
  4. <role rolename="manager-status"/>
  5. <user username="tomcat_user" password="123456"
  6. roles="manager-gui,manager-script,manager-jmx,manager-status" />

五,jenkins主体程序安装

把 jenkins.war 放在 Tomcat 解压目录/webapps 目录下

打开 Tomcat 解压目录/server.xml 修改 URL 地址的编码解码字符集

vim /opt/tomcat/conf/server.xml

  1. 71 <Connector port="8080" protocol="HTTP/1.1"
  2. 72 connectionTimeout="20000"
  3. 73 redirectPort="8443" URIEncoding="UTF-8"/>

启动 Tomcat 并通过浏览器访问,解锁 Jenkin

网址示例:http://192.168.70.131:8080/jenkins

查看/root/.jenkins/secrets/initialAdminPassword 文件内容填入文本框

六,系统初始化配置

系统管理界面

三,Jenkins+SVN+Tomcat配置 - 图4

全局安全配置

三,Jenkins+SVN+Tomcat配置 - 图5

局工具配置:Maven Configuration

三,Jenkins+SVN+Tomcat配置 - 图6

全局工具配置:JDK

三,Jenkins+SVN+Tomcat配置 - 图7

全局工具配置:Mave

三,Jenkins+SVN+Tomcat配置 - 图8

全局工具配置:Git[若有] 不使用 Git,所以删除即可。

最后 保存

安装插件

三,Jenkins+SVN+Tomcat配置 - 图9

七,创建工程

创建工程

三,Jenkins+SVN+Tomcat配置 - 图10

指定工程名称和工程类型

三,Jenkins+SVN+Tomcat配置 - 图11

源码管理

三,Jenkins+SVN+Tomcat配置 - 图12

三,Jenkins+SVN+Tomcat配置 - 图13

三,Jenkins+SVN+Tomcat配置 - 图14

配好的效果

注意:此时 Jenkins 的工作区中还没有代码,需要执行一次构建操作之后Jenkins 才会下载代码

三,Jenkins+SVN+Tomcat配置 - 图15

八,构建

三,Jenkins+SVN+Tomcat配置 - 图16

三,Jenkins+SVN+Tomcat配置 - 图17

构建后操作

三,Jenkins+SVN+Tomcat配置 - 图18

三,Jenkins+SVN+Tomcat配置 - 图19

三,Jenkins+SVN+Tomcat配置 - 图20

三,Jenkins+SVN+Tomcat配置 - 图21

三,Jenkins+SVN+Tomcat配置 - 图22

九,手动构建

三,Jenkins+SVN+Tomcat配置 - 图23

Jenkins 使用天气状况来表示构建成功率

三,Jenkins+SVN+Tomcat配置 - 图24

十,构建触发器

配置,当访问 http://192.168.70.131:8080/jenkins/job/apple/build?token=ATGUIGU _TOKEN 就会自动触发自动构建

远程触发的基本原理是 SVN 服务器给 Jenkins 项目特定的 URL 地址发送请求,但必须以请求参数的形式携带一个特定值,这个特定值就是这里的“身份验证令牌”。

三,Jenkins+SVN+Tomcat配置 - 图25

三,Jenkins+SVN+Tomcat配置 - 图26

十一, 获取 crumb 值

三,Jenkins+SVN+Tomcat配置 - 图27

三,Jenkins+SVN+Tomcat配置 - 图28

携带 API Token 访问下面地址:

http://admin:090d592c760bf922d554ed4b1abb2137@192.168.70.131:8080/jenkins/crumbIssuer/api/xml

三,Jenkins+SVN+Tomcat配置 - 图29

则触发 Jenkins 远程构建时需要携带的请求消息头就是:Jenkins-Crumb:5dbccaf47a86bf5b675456f58855fe16

十二,Linux 的 的 curl 命令

Linux 的 curl 命令用来发送 HTTP 请求。

-X 参数:指定请求方式

-v 参数:显示响应结果

-u 参数:携带用户名/密码

-H 参数:携带请求消息头信息

  1. curl -X post -v -u [Jenkins 用户名]:[Jenkins 密码] -H "请求消息头信息" http://[服务器 IP 地址]:[服务器端口
  2. 号]/jenkins/job/[Jenkins 项目名称]/build?token=[身份验证令牌]
  3. curl -X post -v -u admin:2f6bff33bda14baba83ba1c002045f05 -H
  4. "Jenkins-Crumb:88a12946e07d82b3b0d567c7c4610c9a"
  5. http://192.168.70.131:8080/jenkins/job/ProOne/build?token=ATGUIGU_TOKEN