• Jenkins安装配置及插件安装使用


    个人理解持续集成:为解决程序代码提交质量低,提交内容导致原有系统的BUG,按时或按需自动编译版本,进行自动化测试。

    百度对持续集成的定义:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

    为什么写这篇文章:笔者在学习jenkins的过程中遇到了很多坑,且学习过程中好多搜到的资料过于零散,导致学习进度缓慢,想通过这篇文章,能让大家在学习的过程中少走弯路。虽然我预计这篇文章是做不到的,但是能够帮助到几位也是好的,以此为望,大家共勉。

    一、Jenkins安装

    系统&安装方式

    直接使用WAR文

    安装包安装

    将WAR文件放到WEB容器

    Windows系统

    难度:低

    难度:中

    难度:高

    Linux系统

    难度:低

    难度:中

    难度:高

    Mac系统

    难度:低

    难度:中

    难度:高

    笔者推荐直接使用WAR文件,越简单的东西越适合初学者。且笔者在使用安装包安装中,出现过一次无法获取插件列表的情况。

       

    Windows下安装:

    系统版本

    JDK版本

    Jenkins版本

    Windows10

    JDK8

    Jenkins1.651

     

    1. 安装JDK:(windows下jdk的安装及环境变量配置百度一下)
    2. 下载安装最新版本Jenkins:
      登陆 http://jenkins-ci.org/ 下载windows版本
      下载的压缩包内含一个.msi程序,直接安装

    1. 访问Jenkins:直接访问Jenkins http://本机IP:8080 (8080为jenkins默认端口号)

     

    Linux Ubuntu下安装:

    系统版本

    JDK版本

    Jenkins版本

    Ubuntu 14.04LTS 桌面版

    Openjdk-7-jdk

    Jenkins1.651

    Ubuntu安装包安装:

    1. 安装open-JDK:

      sudo apt-get install openjdk-7-jdk

    2. 安装Jenkins:

      wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -sudo sh -c 'echo deb Debian Jenkins Packages binary/ > /etc/apt/sources.list.d/jenkins.list'
      sudo apt-get update -y
      sudo apt-get install jenkins -y

    3. 安装位置:

      安装目录:/var/lib/jenkins
      日志目录:/var/log/jenkins/jenkins.log

    4. 启动停止服务:

      sudo /etc/init.d/jenkins start
      sudo /etc/init.d/jenkins stop

    5. 访问jenkins:

      http://本机IP:8080/

    直接使用WAR文件:

    1. 安装open-JDK(同上文)
    2. 下载war文件

     

    将对应war文件传入linux服务器(以下简单介绍几种传入方式,仅仅提供思路以做百度谷歌之用)

    • 架设FTP服务器
    • Winscp工具传入
    • 虚拟机可用虚拟机增强工具拖入或启动共享文件夹
    • U盘等硬件接入
    • 使用war文件开启服务

    Java -jar /home/jenkins.war(wan文件路径) --Port=8080(端口)

    1. 访问jenkins

      http://本机IP:8080/

    2. 将服务加入开机启动

      cd /etc/init.d //切换目录
      vi jenkins.sh //编写shell脚本
      插入java -jar /home/jenkins.war(wan文件路径) --Port=8080(端口)& //后台运行
      chmod 755 jenkins.sh //修改shell脚本权限
      update-rc.d test defaults 95(启动顺序编号) //加入启动项
      update-rc.d -f jenkins.sh remove //删除启动项(需在/etc/init.d目录下执行)

    3. Jenkins的安装目录:

      /root/.jenkins/

    4. 访问jenkins:

      http://本机IP:8080/jenkins/

    TomCat+Jenkins:

    1. 下载安装jdk(同上文)
    2. 下载WAR文件(同上文)
    3. 下载安装tomcat

     

    1. 下载tomcat

      http://tomcat.apache.org/download-80.cgi 

    2. 将tomcat安装包传入服务器
    3. 解压安装包

      tar -cvzf apache-tomcat-8.0.12.tar.gz

    4. 复制解压文件到你想要的安装路径

      cp -r apache-tomcat-8.0.12 /目标路径

    5. 进入安装路径,以/opt/tomcat/为例

      cd /opt/tomcat/

    6. 编辑tomcat启动脚本,加入环境变量

      vim ./bin/startup.sh

      加入一下内容,路径改为你自己的环境变量路径

      JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31

      JRE_HOME=${JAVA_HOME}/jre

      PATH=$JAVA_HOME/bin:$PATH

      CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

      TOMCAT_HOME=/opt/apache-tomcat-8.0.17

      ps:需要放在exec "$PRGDIR"/"$EXECUTABLE" start "$@"这一行上边

    7. 编辑catalina.sh文件,加入环境变量,否则jenkins会报找不到Ant错误

      #See the license for the……

      JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31

      Export JENKINS_HOME="/root/.jenkins" 

    1. 将WAR文件放入tomcat安装路径/webapps/目录下
    2. 启动&关闭tomcat

    3.  ./bin/startup.sh

      ./bin/shutdown.sh

    4. Jenkins的安装目录:

      /root/.jenkins/

    二、Jenkins配置及插件安装使用简介
       

    HTML Publisher Plugin 插件在新的Jenkins版本中会导致打开的网页中无法加载CSS以及无法点击按钮的情况,由于CSP导致,可在Jenkins控制台中执行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")以解决此问题。其他由于CSP原因导致的html插件也可用此方法解决。

     

       

    插件安装:

    安装方式

    在线安装

    下载后安装

    优势缺陷

    优势:自动安装依赖

    缺陷:安装速度慢

    优势:速度快

    缺陷:不会自动安装依赖

     

    在线安装:

       

    1. 进入系统管理

    2. 进入插件管理

    1. 切换可选插件分页

    2. 选择插件,直接安装

     

    若遇到可选插件为空的情况

    • 切换到高级界面

    • 点击立即获取按钮

     

    • 若报错,建议直接重新安装jenkins(查了一天解决办法,放弃了,直接重装好了)

    离线安装:

       

    1. 进入插件管理,高级分页

     

    上传插件

    上传成功后会自动安装

    若安装失败请去对应插件页面检查是否安装对应依赖

     

    账户安全配置:

       

    PS:
    如果用户权限配置错误导致无法修改,修改服务器jenkins安装目录下config.xml文件,重启jenkins服务即可。

    进入系统管理—Configure Global Security

     

    1. 选择Jenkins专用用户数据库,允许用户注册,保存

    2. 注册用户

    1. 再次进入Configure Global Security
    2. 启动安全矩阵,添加用户,添加权限,保存

     

    三、Jenkins的环境变量说明

    • 环境变量列表:

    • - BUILD_NUMBER,唯一标识一次build,例如23;
      - BUILD_ID,基本上等同于BUILD_NUMBER,但是是字符串,例如2011-11-15_16-06-21;当前只有ID
      - JOB_NAME, job的名字,例如JavaoWorld;
      - BUILD_TAG,作用同BUILD_ID,BUILD_NUMBER,用来全局地唯一标识一此build,例如jenkins-JavaHelloWorld-23;
      - EXECUTOR_NUMBER, 例如0;
      - NODE_NAME,slave的名字,例如MyServer01;
      - NODE_LABELS,slave的label,标识slave的用处,例如JavaHelloWorldMyServer01;
      - JAVA_HOME, java的home目录,例如C:\Program Files (x86)\Java\jdk1.7.0_01;
      - WORKSPACE,job的当前工作目录,例如c:\jenkins\workspace\JavaHelloWorld;
      - HUDSON_URL = JENKINS_URL, jenkins的url,例如http://localhost:8000/;
      - BUILD_URL,build的url 例如http://localhost:8000/job/JavaHelloWorld/23/;
      - JOB_URL, job的url,例如http://localhost:8000/job/JavaHelloWorld/;
      - SVN_REVISION,svn 的revison, 例如4;

    • 需要特殊注意的是系统管理,系统设置,高级中3个变量的引用(尤其注意重装jenkins后一定要检查是否与之前Jenkins的一致,哪怕是同一个版本甚至于同一个WAR文件)

    四、Jenkins使用

    1. 创建项目,输入项目名称,选择项目类型

     

    1. 根据项目情况输入项目信息

    2. 构建

    1. 查看构建结果(蓝点为成功,红点为失败,Console Output选项为查看构建的log)

    五、构建

    • 构建触发器

     

    • 触发远程构建(脚本构建)
    • Build after other projects are built(在其他构建完成后构建本项目)
    • Build periodically(定期构建)
    • Poll SCM(检查代码库)

    构建脚本

       

     

      • Execute Windows batch command:添加Dos脚本构建步骤
      • Execute shell:添加shell构建步骤
      • Invoke Ant:添加Ant构建步骤
      • Invoke top—level Maven targets:添加Marven构建步骤
    • 构建后操作

    • E-mail Notification 增加发送邮件配置
    • Publish Html report (HTML Publisher plugin插件),增加查看Html结果配置(绝对路径,相对路径以workspace开始)

    六、Jenkins在跨平台使用注意事项

    • 路径:

    Jenkins路径格式:
    Windows服务器下也支持"/""\"并存模式,推荐使用"/",方便跨平台使用。
    PS:看资料是可以,未尝试

  • 相关阅读:
    非线性优化求解ICP实例
    R语言向前或者向后移动时间序列数据(自定义滞后或者超前的期数):使用dplyr包中的lag函数将时间序列数据向后移动一天(设置参数n为负值)
    C/S架构学习之多进程实现TCP并发服务器
    数据库pymsql之使用简单登陆注册功能实现
    【校招VIP】前端校招考点之UDP
    Kernel: module接口ABI相关问题分析的思路;__GENKSYMS__;
    源码漏洞扫描
    Android深色主题背景的实现及主题背景颜色互换
    Qt5开发及实例V2.0-第十六章-Qt汽车销售管理系统实例
    Safran与是德科技合作推出基于GNSS技术的5G LBS方案
  • 原文地址:https://blog.csdn.net/okcross0/article/details/132715416