15-20K的技术点之:JENKINS基础使用

JENKINS总结

修改时间

修改内容

修改人

2016.3.12

创建

刘永志

2016.5.22

添加tomcat+jenkins

刘永志

2016.6.14

添加tomcat找不到ant解决方案

刘永志

个人理解持续集成:为解决程序代码提交质量低,提交内容导致原有系统的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程序,直接安装

  3. 访问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"

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

     ./bin/startup.sh

    ./bin/shutdown.sh

  6. Jenkins的安装目录:

    /root/.jenkins/

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

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

插件安装:

安装方式

在线安装

下载后安装

优势缺陷

优势:自动安装依赖

缺陷:安装速度慢

优势:速度快

缺陷:不会自动安装依赖

  

  

   

   

在线安装:

   

  1. 进入系统管理

  2. 进入插件管理

  3. 切换可选插件分页

  4. 选择插件,直接安装

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

    • 切换到高级界面

    • 点击立即获取按钮

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

   

   

离线安装:

   

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

  2. 上传插件

  3. 上传成功后会自动安装
  4. 若安装失败请去对应插件页面检查是否安装对应依赖

   

   

账户安全配置:

   

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

   

  1. 进入系统管理—Configure Global Security

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

  3. 注册用户

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

三、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. 创建项目,输入项目名称,选择项目类型

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

  3. 构建

  4. 查看构建结果(蓝点为成功,红点为失败,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服务器下也支持"/""\"并存模式,推荐使用"/",方便跨平台使用。

结尾
金九银十快到了很多朋友对面试不够了解,不知道如何准备,对面试环节的设置以及目的不了解,尤其是面试题还很难,自己看解析都有点不明白。这里也推荐一个前京东架构师讲解的:

《2小时精讲最新Java高频面试题》(文末免费领)

教程中除了框架、数据库、中间件、场景解析等Java高频面试题的详细讲解,还有老师结合自身经历让你如何更好的面试:评论区点赞关注评论免费领取!!!!

面试的流程
什么样的简历受欢迎?
针对不同的岗位面试官主要考察什么?
如何回答面试官的问题比较好?
自己做的项目如何讲才能体现出自己的实力?
教程里配的全套资料我也都打包好了,可以直接免费领取。就算你没有面试的打算,这套资料也能帮你查漏补缺,完善自己的 Java 技术体系,好好提升一下自己的核心竞争力!
评论区点赞关注评论免费领取!!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
[2023-05-31 11:07:02] Started by user coding [2023-05-31 11:07:02] Running in Durability level: MAX_SURVIVABILITY [2023-05-31 11:07:04] [Pipeline] Start of Pipeline [2023-05-31 11:07:06] [Pipeline] getContext [2023-05-31 11:07:07] [Pipeline] node [2023-05-31 11:07:07] Running on Jenkins in /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995 [2023-05-31 11:07:07] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] withEnv [2023-05-31 11:07:08] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] withDockerRegistry [2023-05-31 11:07:08] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] isUnix [2023-05-31 11:07:08] [Pipeline] sh [2023-05-31 11:07:08] + docker inspect -f . public/docker/nodejs:18-2022 [2023-05-31 11:07:08] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-221f7a67/script.sh: 1: docker: not found [2023-05-31 11:07:08] [Pipeline] isUnix [2023-05-31 11:07:08] [Pipeline] sh [2023-05-31 11:07:09] + docker inspect -f . coding-public-docker.pkg.coding.net/public/docker/nodejs:18-2022 [2023-05-31 11:07:09] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-4892b310/script.sh: 1: docker: not found [2023-05-31 11:07:09] [Pipeline] isUnix [2023-05-31 11:07:09] [Pipeline] sh [2023-05-31 11:07:09] + docker pull coding-public-docker.pkg.coding.net/public/docker/nodejs:18-2022 [2023-05-31 11:07:09] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-0770ad1b/script.sh: 1: docker: not found [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // withDockerRegistry [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // withEnv [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // node [2023-05-31 11:07:09] [Pipeline] End of Pipeline [2023-05-31 11:07:09] ERROR: script returned exit code 127 [2023-05-31 11:07:09] Finished: FAILURE
06-01

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值