JenkinsStudy

Jenkins学习与实践

目标:

1.自动从Git更新获取最新代码。

2.Maven自动编译。

3.Findbugs、CheckStyle。

4.UT的自动运行,报告。

5.Package自动打包。

6.整体的报告。

一、Jenkins入门

  1. Jenkins简介:

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使持续集成变成可能。

  2. 安装Jenkins

    1. 下载war包部署到Tomcat

      • 安装Tomcat和java环境

      • 下载Jenkins war包

        1
        # wget http://ftp-nyc.osuosl.org/pub/jenkins/war-stable/2.73.2/jenkins.war
      • 拷贝war包到Tomcat安装目录下webapps文件夹

      • 启动Tomcat

  1. 使用rpm安装rpm包

    • 下载rpm包

      1
      # wget https://prodjenkinsreleases.blob.core.windows.net/redhat-stable/jenkins-2.73.1-1.1.noarch.rpm
    • 安装rpm包

      1
      2
      3
      4
      5
      6
      7
      8
      9
      1.赋予执行权:
      chmod +x *.rpm
      2.执行RPM安装命令:
      rpm -ivh *.rpm
      3.修改启动端口:
      vi /etc/sysconfig/jenkins
      JENKINS_PORT="8091"
      4.启动和关闭:
      service jenkins start/stop
  1. 启动Jenkins

    • 使用Tomcat安装

      1
      访问 http://ip:8080/Jenkins
    • 使用rpm安装

      1
      访问 http://ip:8091

      遇到的问题 :

    • 启动Jenkins遇到

      Starting Jenkins bash: /usr/bin/java: No such file or directory

      由于Jenkins无法获取java位置

      解决方法:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      编辑/etc/init.d/jenkins文件在变量candidates后面添加一个路径/usr/java/jdk1.8.0_152/bin/java
      将安装的java路径添加上去
      # vi /etc/init.d/jenkins

      # see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
      candidates="
      /etc/alternatives/java
      /usr/lib/jvm/java-1.8.0/bin/java
      /usr/lib/jvm/jre-1.8.0/bin/java
      /usr/lib/jvm/java-1.7.0/bin/java
      /usr/lib/jvm/jre-1.7.0/bin/java
      /usr/bin/java
      /usr/local/java/jdk1.8.0_152/bin/java
      "
  1. 配置Jenkins

    1. 配置JDK和Maven路径
  1. 配置密钥

  2. 安装插件

    • 安装maven插件

      系统管理 -> 插件管理 -> 可选插件

      搜索maven安装Maven Integration plugin插件

  1. Jenkins升级

    以上两种方法都可以替换war包方式升级

    1. 停止Jenkins

      1
      2
      3
      # service Jenkins stop

      Tomcat下的可以停止tomcat即可
    2. 备份/删除war包

    3. 下载新版war包

      • 如果使用rpm安装进入Jenkins存放war包的目录

        1
        2
        3
        # cd /usr/lib
        //这是2017.11更新的版本
        # wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.73.3/jenkins.war
      • 如果是Tomcat安装

        替换tomcat目录下webapps下的war

    4. 启动Jenkins

      1
      # service Jenkins start

二. 实践

  1. Git提交自动获取代码

    配置hook

    1. 安装gitlab hook plugin插件

    2. 生成token

      1
      2
      # penssl rand -hex 12
      421220e468aa2a1634439ac0
    3. 配置job上的token

      在job的配置中 -> 构建触发器中选择 -> 触发远程构建, 将生成的token添加到身份令牌处

    4. 配置git库的webhooks

      在gitlab项目设置 -> webhooks 选项 -> url处填写url

      1
      2
      http://172.16.101.17:8081/buildByToken/build?job=1231&token=421220e468aa2a1634439ac0
      http://Jenkins地址/buildByToken/build?job= Jenkinsjob名 &token= Token

      点击保存后点击test测试是否成功

  1. 自动构建maven工程

  2. findbugs 和 checkstyles配置

    1. 插件安装
  3. 单元测试报告

  4. 自动打包

  5. Jenkins报告