相关工具jar包下载地址:https://download.csdn.net/download/qq_36698956/10731781
工具包含(apache-maven-3.5.0-bin.tar.gz、apache-tomcat-7.0.75.tar.gz、git-2.9.3.tar.gz、jenkins.war),JDK8自行下载,必须使用JDK8,tomcat7和8都可以
- 前言
- Jenkins和Hudson
目前最流行的一款持续集成及自动化部署工具。
Jenkins和Hundson之间的关系:2009年,甲骨文收购了Sun并继承了Hudson代码库。再2011年年初,甲骨文和开元社区之间的关系破裂,该项目被分成连个独立的项目:
- Jenkins : 由大部分原始开发人员组成
- Hudson : 有甲骨文公司继续管理
所以Jenkins和Hudson是两款非常相似的产品。
-
- 技术组合
Jenkinx可以整合GitHub或Subversion
Husband也可以整合GitHub或Subversion
二者既然是同源的工具软件,操作和指导思想就是接近的,所以通过Jenkins为大家呈现。
- JavaEE项目部署方式对比
- 手动部署
-
- 自动化部署
“自动化”的具体体现:向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是新的应用程序。
搭建上诉持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。对于程序员的日常开发来说不会造成任何额外负担——自己把代码提交上去之后,服务器上运行的马上就是最新版本——一切都发生在无形中。
以下必须具备的知识:
- Linux基本操作命令和VIM编辑器使用
- Maven的项目构建管理
- GitHub或SVN
- Jenkins+SVN持续集成环境搭建
- 系统结构总述
- 创建逊尼基安装Linux系统
- 版本控制子系统
- Subversion服务器
- 项目对应版本库
- 版本库中钩子程序
- 持续集成子系统
- JDK
- Tomcat
- Maven
- Jenkins
- 主体程序
- SVN插件
- Maven插件
- Deploy to Web Container插件
- 应用发布子系统
- JDK
- Tomcat
-
- 版本控制子系统
详细过程就省略了,这里记录一下版本库的访问账号密码
*提别提示:svnserve.conf文件中anon-access一定要打开注释并设置为none
-
- 应用发布子系统
详细过程省略,仅记录Tomcat服务器的账号密码配置文件位置:/opt/tomcat/conf/tomcat-users.xml
<role rolename=”manager-gui”> <role rolename=”manager-script”> <role rolename=”manager-jmx”> <role rolename=”manager-status”> <user username=”tomcat_user” password=”123456” roles=”manager-gui,manager-script,manager-jmx,manager-statis”> |
-
- Jenkins主体程序安装配置
- Jenkins.war放在Tomcat解压目录/webapps目录下
- 打开Tomcat解压目录/server.xml修改URL地址的编码解码字符集
Vim /opt/tomcat/conf/server.xml |
71 <Connector port=”8080” protocol=”HTTP/1.1”> ConnectionTimeout=”20000” redirectPort=”8443” URLEncoding=”UTF-8” |
- 启动Tomcat并通过浏览器访问
网址示例:http://192.168.70.131:8080/jenkins
- 解锁Jenkins
依照提示,查看/root/.jenkins/secrets/initialAdminPassword文件内容填入文本框
这里填入的密文同事也是admin账号的密码。
- 选择插件安装方式
选择哪种方式都不会对后续操作有太大影响,因为有需要的插件我们可以再后续有针对性的安装。
在这里我们选择“安装退件插件”
安装过程如下:
打×的插件是由于网络传输导致的安装失败,后面再重新安装即可。
*注意:这个步骤中如果选择了安装插件则Linux必须能够联网
- 新建账号或以管理员身份继续
可以选择使用admin账号继续,后面有需要仍然有机会注册账户
- 开始使用Jenkins
-
- 系统初始化配置
- 系统管理界面
- 系统初始化配置
-
-
- 全局安全配置
-
-
-
- 全局工具配置:Maven Configuration
-
-
-
- 全局工具配置:jdk
-
-
-
- 全局工具配置:Maven
-
-
-
- 全局工具配置:Git【若有】,不使用Git,所以删除即可
-
-
- 安装插件
安装插件时受到网络的影响可能会失败,不要紧,多试几次,直到成功。
-
- 创建工程
- 创建工程
- 创建工程
-
-
- 指定工程名称和类型
-
-
-
- 源码管理
-
这里一定再选一下!
配好的效果:
*注意:此时Jenkins的工作区中还没有代码,需要执行一次构建操作之后Jenkins才会下载代码。
-
-
- 构建
-
-
-
- 构建后操作
-
-
-
- 手动构建
-
Jenkins使用天气状况标识构建成功率
-
-
- 构建触发器
-
远程触发的基本原理是svn服务器给Jenkins项目特定的URL地址发送请求,但必须以请求参数的形势携带一个特定值,这个特定值就是这里的“身份验证令牌”
比如我们这个项目的地址触发地址是:
Http://192.168.70.131:8080/jenkins/job/ProOne/build
身份验证令牌是:
ATGUIGU_TOKEN
那么最终的访问地址是:
Htttp://192.168.70.131:8080/Jenkins.job/ProOne/build?token=ATGUIGU_TOKEN
触发访问地址中Jenkins访问地址是根据实际情况改变的,项目名称根据实际情况改变,其他都不变
-
- 获取crumb值
携带API Token访问下面地址:
http://admin:090d592c7760bf922d554ed4b1abb2137@192.168.70.131:8080/jenkins/crumblssuer/api/xml
则触发Jenkins远程构建时需要携带的请求头是就是:
Jenkins-Crumb:5dbccaf47a86bf5b675456f58855fe16
-
- Linux的curl命令
Linux的curl命令发送HTTP请求。
-X参数:指定请求方式
-v参数:显示求情方式
-u参数:携带用户名/密码
-H参数:携带请求消息头信息
curl -X post -v -u [Jenkins 用户名]:[Jenkins 密码] -H "请求消息头信息” http://[服务器IP地址][服务器端口号]/jenkins/job/[Jenkins 项目名称]/build?token=[身份验证令牌] |
curl -X post -v -u admin:2f6bff33bda14baba83ba1c002045f05 –H "Jenkins-Crumb:88a12946e07d82b3b0d567c7c4610c9a” http://192.168.70.131:8080/jenkins/job/ProOne/build?token=ATGUIGU_TOKEN |
-
- 编辑SVN版本库中的钩子程序
- 钩子程序由port-commit.tmpl复制得到
- 这里主要不要使用任何扩展名。如果我们习惯的使用.sh扩展名则钩子程序无法正常工作。
- 记得使用chmod命令设置为可执行权限
- 把原有内容注释,加入curl命令
-
- 测试
在Eclipse中提交修改,在页面上查看显示内容变化
-
- 补充
如果发生Jenkins服务器从SVN服务器下载代码不是最新版本的情况,那么就在SVN服务器的URL地址后面加上@HEAD强制要求下载最新版。
- Jekins+GitHub持续集成环境搭建
- 要点
Jenkins与GitHub配合实现持续集成需要注意以下几点:
- 第一:Jenkins要部署到外网上,因为内网地址GitHub是无法访问到的。这一点可以通过租用阿里云等平台提供的云服务器实现。
- 第二:Jenkins所在的主机上需要安装Git,通过Git程序从GitHub上clone代码。
- 第三:在Jenkins内需要制定Git程序位置,和指定JDK、Maven程序位置非常类似。
- 抵死:在GitHub上使用每个repository的WebHook方式远程触发Jenkins构建。
- 第五:在Jenkins内关闭“防止跨站点请求伪造”
- Linux环境下安装Git
- 第一步:安装编译git时需要的包
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install -y gcc perl-ExtUtils-MakeMaker
- 第二部:删除已有的Git
yum remove git
- 第三步:Git 官网下载 Git 最新版 tar 包,移动到/usr/src 目录下
cd /usr/src
tar -zxvf git-2.9.3.tar.gz
- 第四步:编译安装
cd git-2.9.3
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bash
source /etc/bash
- 第五步:检查一下版本号
git –version
-
- 在Jenkins中指定Git程序位置
-
- 在GitHub上添加WebHook
-
- 在Jenkins内关闭“防止跨站点请求伪造”
博主原创,转载请注明出处: https://blog.csdn.net/qq_36698956
版权声明:博客对我来说是记忆的笔记和知识的分享~此博文为博主原创转载请注明出处即可~