Jenkins 是一个可扩展的持续集成引擎。

主要用于:

  • 持续、自动地构建/测试软件项目。

  • 监控一些定时执行的任务。

    Jenkins拥有的特性包括:

  • 易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。

  • 易于配置-所有配置都是通过其提供的web界面实现。

  • 集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。

  • 生成JUnit/TestNG测试报告。

  • 分布式构建支持Jenkins能够让多台计算机一起构建/测试。

  • 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

  • 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。

jenkins 官方网址:https://jenkins.io/

本文主要介绍了在linux 下如何部署jenkins.以及通过jenkins 如何发布php.以及java 程序,利用jenkins 来实现邮件告警及时了解项目发布过程中产生的问题。

一.jenkins 部署安装:

1.Linux部署Jenkins两种方法的介绍

方法1:WAR包步骤简介:wget在官方下载jenkins.war的包到tomcat下
修改tomcat的server.xml配置,重启tomcat
调整防火墙规则,允许端口访问
浏览器访问:http://x.x.x.x:port
方法2:YUM安装步骤简介:添加官方的rpm包源,进行yum安装
编辑jenkins的/etc/init.d/jenkins程序文件,添加java路径
编辑jenkins的/etc/sysconfig/jenkins配置文件,修改端口、系统运行账户
编辑/etc/profiles文件添加jenkins的环境变量
启动jenkins服务service jenkins start
浏览器访问:http://x.x.x.x:port
二、两种安装方法的对比WAR包安装优点:只有一个war包,轻量级部署
配置过程简单,无需额外配置
对于已经部署好tomcat+jdk环境的Server,可以在10分钟内就搭建好Jenkins平台,适用于快速部署和使用;
适合新手,或者对Linux不太熟的人员
缺点:因为是官方直接打包好的.war包,修改配置容易出现报错
运行不稳定,增加插件、修改权限等,很容易崩溃
重启jenkins服务不太方便(java -jar /xx/xx/jenkins.war --httpPort=8080)
YUM安装优点:对于熟悉Linux服务配置的人员来说,轻车熟路的配置流程
可以根据Server环境,定制化的修改jenkins配置文件
可以很方便的查看服务运行状态(state)、日志、排错、重启服务
适用于Linux老司机
缺点:配置的过程稍复杂,要修改的文件和参数
反复查看日志中的ERROR,根据模糊的错误信息,调整环境和配置
对于Linux新手来说,配置起来有点难,Troubleshouting有点懵

2.利用tomcat来部署jenkins


部署tomcat
(1)安装jdk
这里的jdk 使用的是jdk-8u77-linux-x64.rpm
rpm -ivh jdk-8u77-linux-x64.rpm(2)环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_77/                     # JAVA_HOME变两个路径
export JAVA_BIN=/usr/java/jdk1.8.0_77/bin
export PATH=${JAVA_HOME}bin:$PATH   # 环境变量
[root@caosm03 caosm]# java -version   # 查看版本
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
(3)部署tomcat
这里使用的tomcat  apache-tomcat-8.0.30.tar.gz
[root@caosm03]# tar -zxvf  apache-tomcat-8.0.30.tar.gz -C /usr/local
[root@caosm03 local]# mv apache-tomcat-8.0.30  tomcat
[root@caosm03 local]# cd /usr/local/tomcat/bin/
[root@caosm03 bin]# ./startup.sh
Using CATALINA_BASE:   /usr/local/src/tomcat
[2017/12/13 15:55:02] Using CATALINA_HOME:   /usr/local/tomcat
[2017/12/13 15:55:02] Using CATALINA_TMPDIR: /usr/local/tomcat/temp
[2017/12/13 15:55:02] Using JRE_HOME:        /usr/java/jdk-1.8.0.77/
[2017/12/13 15:55:02] Using CLASSPATH:       /usr/local/src/tomcat/bin/bootstrap.jar:/usr/local/src/tomcat/bin/tomcat-juli.jar启动报错:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path解决方案:
<Server port="8005" shutdown="SHUTDOWN"><!--Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> -->
把这一句注释掉 不影响使用,解决这个问题非常蛋疼!!!
对端口进行修改 我这里改成了8090
对server.xml 进行修改<Connector port="8090" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />修改端口后要进行重启tomcat启动进行测试:http://192.168.24.130:8090  启动正常

(4)准备安装包,安装jenkins
这里使用的安装是从官网下载的war 包 https://jenkins.io/
把安装包放到webapp下面
[root@caosm03 webapps]# ls
docs  examples  host-manager  jenkins  jenkins.war  manager  ROOT
[root@caosm03 webapps]#root@caosm03 webapps]#java -jar jenkins.war --httpPort=8090 &进行启动  指定端口
直接访问即可!
http://192.168.24.130:8090
默认用户admin
密码:[root@caosm03 ~]# cat /root/.jenkins/secrets/initialAdminPassword
fb0cb152dc454586a217c46710ecc242

安装中文插件
https://updates.jenkins.io/download/plugins/locale/1.2
在/jenkins/pluginManager/advanced/ 上传插件,点击上传 ,重新刷新,Jenkins 恢复中文界面
http://updates.jenkins-ci.org/download/plugins/

安装插件 可选插件报错
这里需要选择高级
升级站点: http://updates.jenkins-ci.org/update-center.json  立即获取
重新启动tomcat

相关配置


# Jenkins安装目录
/var/lib/jenkins
# Jenkins配置文件地址
cat /etc/sysconfig/jenkins
# 三个比较重要的配置
JENKINS_HOME是Jenkins的主目录,Jenkins工作的目录都放在这里,Jenkins储存文件的地址,Jenkins的插件,生成的文件都在这个目录下。
JENKINS_USER是Jenkins的用户,拥有$JENKINS_HOME和/var/log/jenkins的权限。
JENKINS_PORTJENKINS_PORT是Jenkins的端口,默认端口是8080。

报错解决如下:

jenkins报错:Problem accessing /jenkins/. Reason: HTTP ERROR 404


这是一个Jenkins的Bug。临时解决方法是:在浏览器中手工输入:http://<ip>:<port>
不要访问"/jenkins"这个路径。

jenkins 报错: office This jenkins instance appears to be offline.


[root@caosm98 ~]# cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.0' encoding='UTF-8'?>
<sites><site><id>default</id><url>http://updates.jenkins.io/update-center.json</url></site>
https 改成http
需要重启jenkins

jenkins实战系列相关推荐

  1. Spring Boot Serverless 实战系列“架构篇”首发 | 光速入门函数计算

    作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 一系列的组件,开发者只需要很少的配置即可创建独立运行的应用程序. ​ ...

  2. DevOps实战系列【第六章】:详解Docker私服Nexus3篇

    个人亲自录制全套DevOps系列实战教程 :手把手教你玩转DevOps全栈技术 概述/目标 私服我们很熟悉了,比如docker hub就是官方私服,而有些情况比如我们自建的镜像,不想往外传,就需要考虑 ...

  3. MP实战系列(二)之集成swagger

    其实与spring+springmvc+mybatis集成swagger没什么区别,只是之前写的太不好了,所以这次决定详细写. 提到swagger不得不提rest,rest是一种架构风格,里面有对不同 ...

  4. 07.GitHub实战系列~7.Git之VS2013团队开发(如果不想了解git命令直接学这篇即可)...

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ---------------------------------------- ...

  5. 商城模块java_Java商城秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  6. shiro实战系列(一)之入门实战

    一.什么是shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密.   Apache Shiro 的首要目标是易于使用和理解.安全有 ...

  7. 【直播回顾】云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第19讲):Java Spring Cloud微服务架构模式与开发实战...

    主讲人:徐雷(云栖社区特邀Java专家) 徐雷,花名:徐雷frank:资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士.从事了 10年+开发工作,专注于分布式架构,Ja ...

  8. Spark入门实战系列--6.SparkSQL(中)--深入了解SparkSQL运行计划及调优

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.1  运行环境说明 1.1.1 硬软件环境 l  主机操作系统:Windows 64位, ...

  9. Skype For Business 2015实战系列6:后端数据库安装CU6补丁

    Skype For Business 2015实战系列6:后端数据库安装CU6补丁 安装好SQL Server 2014以后需要为其安装CU6补丁,以满足Skype For Business Serv ...

最新文章

  1. html5引入spring标签,[MVC]5 使用Spring标签库
  2. 上班请病假还得看AI脸色,10秒钟判别真假,打工人太难了
  3. Why NoSQL?
  4. dr.com linux源码安装,Linux在不采用坑爹的Dr.com客户端下的连网方式(亲测可行 ,简单易行)...
  5. 全虚拟化和半虚拟化的区别 cpu的ring0~ring3又是什么概念?
  6. 什么是Java文件?
  7. 水滴石穿C语言之static辨析
  8. python命令行参数传递_Python中 命令行参数传递 与 处理
  9. 中文字体其实也可以用在网页上的
  10. iOS病毒门还没完:美国210家企业仍在用感染App
  11. Use EventBus
  12. 推荐几本书,再送66本书【包邮到家】
  13. PHP 生成 ppt,PHP导出PPT方法,PowerPoint/PhpPresentation处理
  14. 欧阳青C语言,[转载]恨君爱 作者 欧阳青
  15. 【Python】用matplotlib函数绘制股票趋势图
  16. 一个测试浏览器速度的网站
  17. python红色的颜色表达式_python – 排序(十六进制)颜色以匹配彩虹
  18. Learn Git Branching 学习笔记(Git远程仓库篇)
  19. Linux 解决无法清空回收站问题
  20. Linux 阻塞和非阻塞 IO 实验

热门文章

  1. Microsoft Office 2016 专业增强版官方原版镜像下载
  2. mysql日常使用中常见报错汇总
  3. 公交车大巴车联网监控管理解决方案
  4. web静态页面-MIUI米柚
  5. 《电子基础与维修工具核心教程》——导读
  6. Mac下解决复制重复文件时,没有像Windows“保留二者”的选项 - Mac文件夹合并,保留重复文件 - xx(1).jpg
  7. 【机器学习】Huber loss
  8. 缺失数据处理(R实现)
  9. 动态开题报告论文答辩PPT模板
  10. 爬取24w+弹幕信息后,我果断去追剧了