设为首页 收藏本站
查看: 1108|回复: 0

[经验分享] Linux 环境下搭建 Jenkins(Hudson)平台

[复制链接]

尚未签到

发表于 2018-1-9 21:15:23 | 显示全部楼层 |阅读模式
  安装jenkins:
  安装 jenkins 有两种方式:
  安装方式一:
[java] view plain copy

  • 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

  • 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

  • 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

  • “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

  • 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
  • sudo yum install jenkins
  • 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

  • ####
  • sudo chown -R admin /usr/lib/jenkins
  • sudo chgrp -R admin /usr/lib/jenkins
  • ####
  • sudo chown -R admin /var/log/jenkins
  • sudo chgrp -R admin /var/log/jenkins
  • sudo chown -R admin /var/lib/jenkins
  • sudo chgrp -R admin /var/lib/jenkins
  • sudo chown -R admin /var/cache/jenkins
  • sudo chgrp -R admin /var/cache/jenkins (这个如果不改,会出现404)
  ④. 启动jenkins
  Java代码
  sudo /sbin/service jenkins start
  或者  sudo service jenkins start

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433368-1-1.html 上篇帖子: Jenkins上配置Robot Framework测试邮件通知模板 下篇帖子: jenkins集成maven实现自动化接口测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表