为了配合上一篇的ant+jenkins做持续集成,需要在linux环境下搭建一个jenkins平台。网上有很多安装的例子,我主要记录一下自己遇到的问题,真真的是特别惆怅的,每次我遇到的问题都格外多。

主要分为三块内容,具体如下:

*安装

*问题及解决,

一 安装jenkins

1 首先确认该机器已经安装jdk,确认方式:在linux机器上输入  java -version,若系统可识别java命令,则表示已安装jdk,如下

得到的1.7.0_79为java版本,需注意:有些版本的jenkins不能使用1.6的jdk

2 安装jenkins

A 离线安装:

① 下载jenkins.war 包。Jenkins官方地址:http://Jenkins-ci.org/ (最新war包的下载地址:http://mirrors.jenkins-ci.org/war/latest/jenkins.war)

② 下载一个tomcat容器在webapps中放入jenkins.war,不要解压。

③ 在cd /opt/soft/tomcat/webapps/ 中执行 java -jar jenkins.war

④ 查看日志是否有异常,访问http://ip:8080即可看到jenkins界面,jenkins安装成功。

B 在线安装

使用yum命令进行在线安装,使用service命令进行启动,具体操作如下:

wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key          
yum install jenkins                                    
[root@bjdhj-120-215 run]# service jenkins start
Starting Jenkins [确定]
[root@bjdhj-120-215 run]# service jenkins status
jenkins (pid 23873) 正在运行...

浏览器访问http://ip:8080 即可看到jenkins界面,jenkins安装成功

二 遇到的问题

问题1 在执行yum install jenkins时提示:user jenkins does not exist

解决:该机器上没有jenkins用户,需要使用adduser命令创建用户,adduser命令需要配合更改passwd等的权限位完成

[root@esearch01 ~]# adduser jennkins
adduser: cannot open /etc/passwd #是因为该文件加了权限位,不可写操作
[root@esearch01 etc]# lsattr passwd   #进行确认
----i--------e- passwd
[root@esearch01 etc]# chattr -i passwd #去掉权限位
[root@esearch01 etc]# lsattr passwd #进行确认
-------------e- passwd
[root@esearch01 etc]# adduser jenkins #即可创建成功jenkins用户

问题2:修改jenkins的端口

解决:完成jenkins的在线安装后,查看/usr/lib/jenkins/jenkins.war;查看/etc/sysconfig/jenkins是jenkins的配置文件

修改jenkins文件的端口号:

vim /etc/sysconfig/jenkins 编辑该文件,修改如下两个端口

JENKINS_PORT="8001"

JENKINS_AJP_PORT="8009"

保存文件并退出,重启jenkins(service jenkins restart),在浏览器中访问http://ip:8001,打开jenkins页面。

问题3:jenkins的启动日志报错:

WARING:Could not intialize the host network interface on nullbecause of an error:101/udp

java.net.UnknownHostException:101/udp

原因:在linux执行hostname,得到101/udp。正常应该是通过hostname获取对应的机器ip,但是明显101/udp在解析时不通过,所以无法定位ip,导致错误。

解决:更新hostname。执行语句为hostname bjdhj-120-215.58os.org(自己定义一个合理的hostname名称),可用其他机器ping改hostname,看是否能正确得到对应的ip。

再次启动jenkins.war,日志正常,可访问web页面。

问题4:不能正确stop jenkins

[root@bjdhj-120-215 ~]# service jenkins stop
Shutting down Jenkins [失败]

[root@bjdhj-120-215 ~]# service jenkins status
jenkins is stop,pid is exist

解决1:java版本冲突,确认下是否同时存在java1.6 java1.7或者其他,卸载,只保留一个

解决2:重新安装jenkins,即再执行一遍yum install jenkins。

解决3:我是重新安装了好了,但我总觉得有其他地方可以解决这个问题,所以先留着坑。

启动时可能会报错,产生这个原因是jenkins的默认的jdk路径和你安装的jdk路径不一致导致的

[root@localhost /]# service jenkins start
Starting jenkins (via systemctl):  Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
                                                           [失败]

1、which java

首先输入命令行,查看结果:

[root@localhost ~]# which java

/usr/bin/java

PS:which Java是无法定位到Java的安装路径的,只能定位到执行路径;whereis Java也无法定位,只能展示一部分的Java路径,如下所示:

[root@localhost ~]# whereis java

java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz

2、echo $JAVA_HOME

使用 echo $JAVA_HOME 命令可以定位到Java安装路径,但是前提是配置了环境变量$JAVA_HOME,否则还是定位不到,如下所示:

[root@localhost ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
[root@localhost ~]# echo $JAVA_HOME [root@localhost ~]#

3、rpm -qa | grep java

如果JDK是源码安装,那么rpm -qa | grep java命令也是定位不到的jdk的安装路径的,比如我是用的yum命令安装,使用rpm -qa | grep java命令的话,结果如下所示:

[root@localhost ~]# rpm -qa | grep java
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64
tzdata-java-2018d-1.el7.noarch
java-1.8.0-openjdk-devel-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.0.el7_4.x86_64
[root@localhost ~]#

查询到jdk的安装路径,   检查自己的JDK是否安装,如果已经安装,检查 /etc/init.d/Jenkins 文件(可通过vi编辑器修改)中JDK路径是否与本地路径一致,不一致则将Java的正确路径加入。

sudo service jenkins restart 启动完成

linux下搭建jenkins的更多相关文章

  1. linux下搭建Jenkins环境

    前提:Tomcat.jdk已安装并配置成功,具体安装和配置可参考我的其他随笔,在此不再详述 1.官网下载Jenkins最新war包,jenkins.war 2.进入Tomcat安装目录,创建Jenki ...

  2. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  3. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  4. Linux下搭建个人网站

    前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...

  5. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  6. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  7. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  8. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  9. Linux下搭建Lotus Domino集群

    Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...

随机推荐

  1. localstorage实现两个页面通信,购物车原理。

    如:A,B页面,A为商品页,B为购物车页,两个页面同时打开,在A页面点击商品添加至购物车,切换到B页面购物车怎么显示该商品信息 利用localStroage,A页面将数据存入localStroage, ...

  2. ABP入门教程5 - 界面调整

    点这里进入ABP入门教程目录 调整前 调整后 调整项 页面标题 把favicon.ico替换为指定Logo JD.CRS.Web.Mvc\wwwroot\favicon.ico 顶部工具栏 把logo ...

  3. Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理

    这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建.OK,话不多说,开始我们的收官之战. 不知你想过没有,如果我们的文章少,一眼看完整个目录, ...

  4. CodeForces - 103B(思维+dfs找环)

    题意 https://vjudge.net/problem/CodeForces-103B 很久很久以前的一天,一位美男子来到海边,海上狂风大作.美男子希望在海中找到美人鱼 ,但是很不幸他只找到了章鱼 ...

  5. July 7th, 2019. Week 27th, Sunday

    We laughed and kept syaing "see you soon", but inside we both knew we would never see each ...

  6. 201871010116-祁英红《面向对象程序设计(java)》第十二周学习总结

    博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...

  7. acwing 7 混合背包

    习题地址  https://www.acwing.com/problem/content/description/7/ 题目描述有 N 种物品和一个容量是 V 的背包. 物品一共有三类: 第一类物品只 ...

  8. flask之web网关、三件套、配置、路由(参数、转化器及自定义转化器)、cbv、模板语言、session

    目录 1.wsgiref.py 2.werzeug.py 3.三件套 4.配置文件 5.路由本质 6.cbv.py 7.路由转化器 8.自定义转化器 9.模板语言 10.session原理 11.te ...

  9. jinja2模板用法

    我不是代码的生产者,我只是知识的搬运工 jinja2模板用法

  10. 让你的网页"抖起来"?!?

    细心的小伙伴可能发现我的左下角有一个抖起来的小按钮,然后页面就开始皮了起来,哈哈好快乐啊 没有利用js,单独的使用了css3的动画就实现了这个效果 css设置 @keyframes shake-it{ ...