Jenkins持续集成工具 - (亲试可用)

相关工具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都可以

  1. 前言
    1. Jenkins和Hudson

目前最流行的一款持续集成及自动化部署工具。

Jenkins和Hundson之间的关系:2009年,甲骨文收购了Sun并继承了Hudson代码库。再2011年年初,甲骨文和开元社区之间的关系破裂,该项目被分成连个独立的项目:

  1. Jenkins : 由大部分原始开发人员组成
  2. Hudson : 有甲骨文公司继续管理

所以Jenkins和Hudson是两款非常相似的产品。

    1. 技术组合

Jenkinx可以整合GitHub或Subversion

Husband也可以整合GitHub或Subversion

二者既然是同源的工具软件,操作和指导思想就是接近的,所以通过Jenkins为大家呈现。

  1. JavaEE项目部署方式对比
    1. 手动部署

    1. 自动化部署

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

搭建上诉持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。对于程序员的日常开发来说不会造成任何额外负担——自己把代码提交上去之后,服务器上运行的马上就是最新版本——一切都发生在无形中。

         以下必须具备的知识:

  1. Linux基本操作命令和VIM编辑器使用
  2. Maven的项目构建管理
  3. GitHub或SVN
  1. Jenkins+SVN持续集成环境搭建
    1. 系统结构总述
  1. 创建逊尼基安装Linux系统
  2. 版本控制子系统
  1. Subversion服务器
  2. 项目对应版本库
  3. 版本库中钩子程序
  1. 持续集成子系统
  1. JDK
  2. Tomcat
  3. Maven
  4. Jenkins
    1. 主体程序
    2. SVN插件
    3. Maven插件
    4. Deploy to Web Container插件
  1. 应用发布子系统
    1. JDK
    2. Tomcat
    1. 版本控制子系统

详细过程就省略了,这里记录一下版本库的访问账号密码

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

 

    1. 应用发布子系统

详细过程省略,仅记录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”>

    1. Jenkins主体程序安装配置
  1. Jenkins.war放在Tomcat解压目录/webapps目录下
  2. 打开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”

  1. 启动Tomcat并通过浏览器访问

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

  1. 解锁Jenkins

 

依照提示,查看/root/.jenkins/secrets/initialAdminPassword文件内容填入文本框

这里填入的密文同事也是admin账号的密码。

  1. 选择插件安装方式

选择哪种方式都不会对后续操作有太大影响,因为有需要的插件我们可以再后续有针对性的安装。

         在这里我们选择“安装退件插件”

         安装过程如下:

        

打×的插件是由于网络传输导致的安装失败,后面再重新安装即可。

*注意:这个步骤中如果选择了安装插件则Linux必须能够联网

  1. 新建账号或以管理员身份继续

可以选择使用admin账号继续,后面有需要仍然有机会注册账户

  1. 开始使用Jenkins

    1. 系统初始化配置
      1. 系统管理界面

      1. 全局安全配置

      1. 全局工具配置:Maven Configuration

      1. 全局工具配置:jdk

      1. 全局工具配置:Maven

      1. 全局工具配置:Git【若有】,不使用Git,所以删除即可

    1. 安装插件

安装插件时受到网络的影响可能会失败,不要紧,多试几次,直到成功。

    1. 创建工程
      1. 创建工程

      1. 指定工程名称和类型

      1. 源码管理

这里一定再选一下!

配好的效果:

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

      1. 构建

      1. 构建后操作

 

      1. 手动构建

Jenkins使用天气状况标识构建成功率

      1. 构建触发器

远程触发的基本原理是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访问地址是根据实际情况改变的,项目名称根据实际情况改变,其他都不变

        

    1. 获取crumb值

 

 

         携带API Token访问下面地址:

         http://admin:090d592c7760bf922d554ed4b1abb2137@192.168.70.131:8080/jenkins/crumblssuer/api/xml

        

         则触发Jenkins远程构建时需要携带的请求头是就是:

         Jenkins-Crumb:5dbccaf47a86bf5b675456f58855fe16

    1. 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

    1. 编辑SVN版本库中的钩子程序
  1. 钩子程序由port-commit.tmpl复制得到
    1. 这里主要不要使用任何扩展名。如果我们习惯的使用.sh扩展名则钩子程序无法正常工作。
    2. 记得使用chmod命令设置为可执行权限
  2. 把原有内容注释,加入curl命令

    1. 测试

在Eclipse中提交修改,在页面上查看显示内容变化

    1. 补充

如果发生Jenkins服务器从SVN服务器下载代码不是最新版本的情况,那么就在SVN服务器的URL地址后面加上@HEAD强制要求下载最新版。

  1. Jekins+GitHub持续集成环境搭建
    1. 要点

Jenkins与GitHub配合实现持续集成需要注意以下几点:

  1. 第一:Jenkins要部署到外网上,因为内网地址GitHub是无法访问到的。这一点可以通过租用阿里云等平台提供的云服务器实现。
  2. 第二:Jenkins所在的主机上需要安装Git,通过Git程序从GitHub上clone代码。
  3. 第三:在Jenkins内需要制定Git程序位置,和指定JDK、Maven程序位置非常类似。
  4. 抵死:在GitHub上使用每个repository的WebHook方式远程触发Jenkins构建。
  5. 第五:在Jenkins内关闭“防止跨站点请求伪造”
    1. Linux环境下安装Git
  1. 第一步:安装编译git时需要的包

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install -y gcc perl-ExtUtils-MakeMaker

  1. 第二部:删除已有的Git

yum remove git

  1. 第三步:Git 官网下载 Git 最新版 tar 包,移动到/usr/src 目录下

cd /usr/src

tar -zxvf git-2.9.3.tar.gz

  1. 第四步:编译安装

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

  1. 第五步:检查一下版本号

git –version

    1. 在Jenkins中指定Git程序位置

    1. 在GitHub上添加WebHook

    1. 在Jenkins内关闭“防止跨站点请求伪造”

 

博主原创,转载请注明出处: https://blog.csdn.net/qq_36698956

版权声明:博客对我来说是记忆的笔记和知识的分享~此博文为博主原创转载请注明出处即可~   

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值