Linux 环境下搭建 Jenkins(Hudson)平台

安装jenkins:
安装 jenkins 有两种方式:
安装方式一:

[java] view plain copy

  1. sudo java -jar jenkins.war –httpPort=18080 –ajp13Port=18009

但是很多时候我们是使用SSH方式到目标机器上的,放我们关闭SSH连接时,这个命令也会被中断,jenkins服务会被终止,我们不可能一直保持这SSH连接,怎么办?可以把这行命令写成 shell 脚本,然后使用 nohup sh jenkins.sh &
命令启动这个脚本,这样jenkins就能正常提供服务了。
安装方式二:安装 RPM包
为了能够使用jenkins库,首先需要导入jenkins库的 key:

[java] view plain copy

  1. sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm –import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

安装软件(以jenkins-x.x.x.rpm为例):yum install jenkins-x.x.x.rpm
   删除软件:yum remove jenkins-x.x.x.rpm或者yum erase jenkins-x.x.x.rpm
   升级软件:yum upgrade jenkins或者yum update jenkins
   查询信息:yum info jenkins
开启服务(关闭,重启):

[java] view plain copy

  1. sudo service jenkins start|stop|restart

检查jenkins是否安装完成: localhost:8080 (默认是8080 端口,如果采用安装方式一,那么就需要指定的端口)
运行job时遇到的问题:
 mvn:command not found
遇到的问题: 不能使用MVN命令;
排查过程:
①Jenkins 默认创建进程,启动任务的用户名是 jenkins,使用root权限查看passwd,可以看到这个用户默认情况下 ssh 为false,也就是说这个用户默认情况下是不能使用ssh进行登录的,除非修改 passwd中相应字段为 bash,然后sourse;
jenkins:x:500:500:mengqc:/home/jenkins:/bin/fasle
passwd文件的格式:  注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
②默认情况下 Jenkins 的安装目录是 /var/lib/jenkins/ ,项目根目录是 /var/lib/jenkins/jobs/workspace

从目录上看,就知道这个是需要 root 权限才能执行一些命令,但是我们通过界面 执行一些命令使用的是admin用户,纵使我们在 根目录下 能适应mvn命令,但是问题也不能解决。

还有一个简单的测试Maven 是否加入到了环境变量中的方法,在执行mvn命令时,填写maven安装的绝对路径,如果能够执行,说明不是权限的问题,而是环境变量的问题。

解决方案一:
①安装 ssh slave 插件;
②启动slave 服务;
③jenkins-系统管理-节点管理:重新设置 slave机器的 Remote FS root 为 /home/admin/xxx
(主要是添加了workspace的目录) $ITEM_ROOTDIR
④把master的节点数设为0,这样默认情况下就会使用 slave节点。
问题:
如果修改 工作目录(Remote FS root),可能会遇到:

[java] view plain copy

  1. “main”java.lang.NoclassDefFoundError:hudson/maven/agent/Main

原因:我们修改了slave的工作目录,但是slave服务没有重启导致;
解决方法:使用我们的脚本 对slave进行 重启操作。
解决方案二:

在 /home/admin/目录下新建一个工作目录,然后将 /var/lib/jenkins目录设置成一个跳转链接 ,链接到admin目录下 [sudo ln -s /home/admin/xxx/  /var/lib/jenkins] ,然后将/var/lib/jenkins 目录下的文件 mv 到/home/admin/xxx/ 目录下。
mvn和一些基本的命令是可以运行了,但是运行shell脚本时还是没有权限,因为 新建的这个跳转连接user=root ,group=root,并且对这个链接 使用chown/chgrp 都是没有效果的,执行一些操作命令是还是没有权限;

解决方案三:修改默认 jenkins 用户为 admin
①安装jenkins 
Java代码  (我们一般使用的是admin权限)

[java] view plain copy

  1. sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
  2. sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
  3. sudo yum install jenkins
  4. rpm -ql jenkins

②. 配置jenkins 
Java代码  
// edit JENKINS_PORT, JENKINS_USER  
sudo vi /etc/sysconfig/jenkins  (把 JENKINS_USER 设置为 admin)
③. 修改jenkins权限(如果修改JENKINS_USER情况下) 
Java代码

[java] view plain copy

  1. ####
  2. sudo chown -R admin /usr/lib/jenkins
  3. sudo chgrp -R admin /usr/lib/jenkins
  4. ####
  5. sudo chown -R admin /var/log/jenkins
  6. sudo chgrp -R admin /var/log/jenkins
  7. sudo chown -R admin /var/lib/jenkins
  8. sudo chgrp -R admin /var/lib/jenkins
  9. sudo chown -R admin /var/cache/jenkins
  10. sudo chgrp -R admin /var/cache/jenkins (这个如果不改,会出现404)

④. 启动jenkins 
Java代码  
sudo /sbin/service jenkins start 
或者  sudo service jenkins start

时间: 2024-10-13 03:58:06

Linux 环境下搭建 Jenkins(Hudson)平台的相关文章

linux环境下搭建MySQL数据库的双击热备

准备服务器 由于Mysql不同版本之间的(二进制日志)binlog格式可能会不太一样,因此最好的搭配组合是主(Master)服务器的Mysql版本和从(Slave)服务器版本相同或者更低,主服务器的版本肯定不能高于从服务器版本.本次我用于测试的两台服务器版本都是Mysql-5.5.17. Mysql 建立主-从服务器双机热备配置步骤 2.1环境描述A服务器(主服务器Master):59.151.15.36B服务器(从服务器Slave):218.206.70.146主从服务器的Mysql版本皆为5

在Linux环境下搭建Tomcat+mysql+jdk环境

注:所有内容都是妹纸我亲自搭建成功运行,如果有问题,欢迎发邮件来交流. [email protected](此QQ只用来收邮件,一般情况下是不会登陆的,所有有问题可以发邮件哦~我会回复的) 按照下面的步骤一步一步来.   [Linux环境] 1.下载并安装一个VMware workstation, 这个是虚拟机的平台,后面要在里面搭建Linux系统. 2.下载一个centos安装包,linux版本有多种,比如说redhat.ubuntu.deepin.BT3,个人比较习惯使用centos,这里下

测试环境搭建和部署(在Linux环境下搭建jdk+Tomcat+mysql环境和项目包的部署)

1.Linux环境(我搭建的是64位centos版本的linux系统) 1.下载并安装一个VMware Workstation虚拟机,是搭建Linux系统的平台.      2.下载一个centos安装包. 3.打开VMware Workstation,新建一个虚拟机,根据提示安装步骤,导入安装包,设置用户名和密码(此处设置的是普通账户,但密码和根账号root共用),其他的步骤全部点击下一步到最后,然后 静静等安装成功. 4.安装完成后,输入密码进入图形化界面,点击右键选择Open in Ter

Linux环境下安装jenkins

1.下载rpm包到本地   http://pkg.jenkins-ci.org/ 2.在linux下使用rpm包安装命令: sudo rpm -ih jenkins-1.562-1.1.noarch.rpm 自动安装完成之后: /usr/lib/jenkins/jenkins.war    WAR包 /etc/sysconfig/jenkins       配置文件 /var/lib/jenkins/       默认的JENKINS_HOME目录 /var/log/jenkins/jenkin

linux环境下搭建环境

一.安装JDK 1.首先去官网下载linux版本的JDK 2.将下载好的jdk的压缩包放到linux的opt文件夹下 3.解压缩 tar -xzvf jdk-8u211-linux-x64.tar.gz 4.然后再该目录下输入ls查看文件夹就能看见我们熟悉的jdk1.8.0_211文件了 5.修改etc文件夹下面的profile文件,类似于windows配置环境变量 将下面的代码到最后 JAVA_HOME=/opt/jdk1.8.0_211 PATH=$JAVA_HOME/bin:$PATH C

Linux 环境下搭建单机版 Redis

1.下载 redis官方网站 : http://download.redis.io/   下载安装包 redis-stable.tar.gz 2.上传到 Linux 环境,存放到任意目录下 3. 解压: tar zxvf redis-stable.tar.gz 4.编译: make 5. 安装: make install PREFIX=/usr/local/redis 6.安装成功之后 在  /usr/local/redis/bin 下有如下文件,说明安装成功 7.到编译目录中找到 redis.

linux环境下完成jenkins的环境搭建

环境搭建部署: 请完成jenkins的环境搭建,需安装tomcat,mysql. Jenkins 地址:  https://jenkins.io/download/ 步骤分析: 1.全部操作使用普通用户hindy,当然也可直接使用root用户 2.需列出配置环境变量详细步骤,并保证环境变量每次优先解析JAVA_HOME 3.修改jenkins的访问端口设置为8090 4.Mysql的端口修改为8036 5.需考虑防火墙的端口问题 6.最终需给出访问jenkins和mysql的截图 具体操作如下:

全陷阱破解:在Linux环境下的Jenkins中持续集成Android工程

本方案以 RHEL / Centos 64位Linux操作系统为例,因为这是目前最常见的服务器环境. 一.安装Java SDK. 建议,不要使用诸如yum之类的玩意自动安装,因为openJDK之类的东东最终各种幺蛾子跑不起来.老老实的去oracle网站下载至少Java7 64位的最终版本,手动安装之,配置好系统path和JAVA_HOME环境变量. vim ~/.bash_profile export JAVA_HOME=<Java安装路径> PATH=$PATH:$JAVA_HOME/bin

linux环境下搭建 j2ee环境

一.JDK安装(安装在/usr/java目录下)1.下载:jdk-7-ea-bin-b26-linux-i586-24_apr_2008.bin地址:http://jx.newhua.com/down/jdk-7-ea-bin-b26-linux-i586-24_apr_2008.zipwindows下将zip格式的解压出jdk-7-ea-bin-b26-linux-i586-24_apr_2008.bin再传到linux服务器的/usr/java目录下2.给文件加上可执行权限[[email p