在安装完jenkins后,linux中默认使用的jenkins这个用户,这时在构建完项目后我们需要执行一些shell命令时会出现没有权限的情况,导致构建失败,这里我们需要给jenkins用户相应的权限以执行相应的命令。

如在构建完项目后我们需要修改项目文件的属性:

chown -R www /home/wwwroot/www.test.com/

如果是jenkins用户,这时就是出现没有权限执行chown命令的情况。

为了解决这个问题,我们采用的是更改jenkins默认用户的方式来实现相应命令的执行。

1、修改jenkins执行用户

vi /etc/sysconfig/jenkins

修改JENKINS_USER值:

## Type:        string

## Default:     "jenkins"

## ServiceRestart: jenkins

#

# Unix user account that runs the Jenkins daemon

# Be careful when you change this, as you need to update

# permissions of $JENKINS_HOME and /var/log/jenkins.

#

JENKINS_USER="root"

这里我们把JENKINS_USER值改为root用户。

注意:这里不一定就要修改为root用户,可以根据实际情况分配一个可执行相应命令的用户即可。

2、修改目录的相应权限:

sudo chown -R root /var/log/jenkins

sudo chgrp -R root /var/log/jenkins

sudo chown -R root /var/lib/jenkins

sudo chgrp -R root /var/lib/jenkins

sudo chown -R root /var/cache/jenkins

sudo chgrp -R root /var/cache/jenkins

修改完成后,当我们再次构建项目时就会发现相应命令被执行了。

使用service jenkins restart 或浏览器  xxxxxx:8080/restart

参考另一篇文章 删除 ~/.subversion 目录,并重新输入credentials ,如出现 authentication cancelled 需要删除已经拉取的目录

1.自定义项目路径:

进入job-配置-高级项目选项-选择使用“自定义的工作空间”,配置后项目不用放到jenkins默认的workspace里了。

勾选 Pass all job parameters as System properties

Root Build script 中 填入${workspace}/自定义路径

2.更改整个jenkins的项目空间

以下为转载内容-未经过尝试

1. 先设置环境变量,变量名为JENKINS_HOME, 值为你想设置的目录 (一般情况下这样就够了,如果还是不行,就进行第二步)
2. jenkins.war -> WEB-INF -> web.xml,修改此文件 (大概会在165行):4 P; j$ q  V  d; f$ D5 g6 n8 ]0 c
  <!-- if specified, this value is used as the Hudson home directory -->
  <env-entry>
    <env-entry-name>HUDSON_HOME</env-entry-name>; G6 L! Y. `. G" Z2 j8 ]$ G
    <env-entry-type>java.lang.String</env-entry-type>% X. i" I9 ^) @2 r/ }" C
    <env-entry-value></env-entry-value>
  </env-entry>5 e! b) u: C9 Q
4 U9 j3 B. Q( n% h9 f* l
在标签<env-entry-value></env-entry-value>中添加你的路径,就ok了。。。

以下为转载:

1. Failed to connect to repository

为job设置git repository的时候报Failed to connect to repository
解决办法:本地安装git客户端,或者�在Jenkins全局系统设置那里指定git的执行路径。

2. No JDK named ?null? found

任务执行失败的console里面有这样一句话:No JDK named ?null? found
解决办法:在Jenkins系统设置中指定有效JAVA_HOME路径

3. node: command not found

针对command not found 我主要总结两种解决方案,对于网上说的那些方法我没看懂

  • 方案一:如果你使用service jenkins start启动了jenkins进程,那么久有可能出现Jenkins运行环境跟用户不同。最简单粗暴的方法是使用 java -jar /usr/lib/jenkins/kenkins.war
  • �方案二:把要用的命令创建一个快捷方式到/usr/bin,如 ln -s /usr/local/bin/node /usr/bin/,这样在Jenkins shell中就能用到node命令了。当然如果是node命令找不到的话可以直接使用Nodejs Plugin解决

4. 如何设置源码库浏览器

在Jenkins使用Git SCM的时候有一项源码库浏览器的设置,起初不知道有何用,只是看了说明大概知道是会对每次build生成changes,然后并没有告诉怎么设置,选择一种浏览器后要填一个URL,然后就各种百度谷歌没找到答案。最后自己随便填了一个,build了一下,点击changes里面的链接,报404,看了一下URL的生成规则,才知道怎么设置。
对于githubweb的URL应该填https://github.com/�your_name/your_repo_name/

5. 单独发送邮件给对构建造成不良影响的责任人

 
 

勾选了这个选项之后没什么反应,如果用的是git源码库,可以在系统设置中勾选自动创建提交人

6. 设置完权限之后无法登录怎么办

sudo vi /var/lib/jenkins/config.xml
将<useSecurity>true</useSecurity>改为false
重启Jenkins,重新设置权限

7. 为Jenkins配ssh

可以直接将你的密钥放到/var/lib/jenkins/.ssh/下
也可以使用ssh的插件完成

Jenkins 踩过的坑之再总结的更多相关文章

  1. 要想不踩SaaS那些坑,得先了解“SaaS架构”

    摘要:围绕当下许多企业青睐的SaaS应用开发,华为云开发者技术服务工程师程泽在DTT首期带来主题为 <SaaS云原生应用典型架构> 的DTT首期直播分享. 本文分享自华为云社区<DT ...

  2. 【转载】Fragment 全解析(1):那些年踩过的坑

    http://www.jianshu.com/p/d9143a92ad94 Fragment系列文章:1.Fragment全解析系列(一):那些年踩过的坑2.Fragment全解析系列(二):正确的使 ...

  3. 第八篇:web之前端踩的一些坑

    前端踩的一些坑   前端踩的一些坑 本节内容 事件代理 清除标签的所有事件 bootstrap的模态框自定义方法 ajax在django里面实现post提交 ajax提交数据嵌套 1.事件代理 之前写 ...

  4. 《C++之那些年踩过的坑(二)》

    C++之那些年踩过的坑(二) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. 今天讲一个小点,虽然小,但如果没有 ...

  5. 《C++之那些年踩过的坑(三)》

    C++之那些年踩过的坑(三) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. [版权声明]转载请注明原文来自:h ...

  6. 《C++之那些年踩过的坑(附录一)》

    C++之那些年踩过的坑(附录一) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. [版权声明]转载请注明原文来自 ...

  7. CentOS7.2上用KVM安装虚拟机window10踩过的坑

    最近两个星期一直在琢磨kvm安装window10操作系统,并且通过桥接模式与外界通信,经历了九九八十一难,终于搞定.下面就记录以下我们在探索的过程中踩过的坑. 安装KVM 1. 系统要求:需要一台可以 ...

  8. 初学spring boot踩过的坑

    一.搭建spring boot环境 maven工程 pom文件内容 <project xmlns="http://maven.apache.org/POM/4.0.0" xm ...

  9. Pro Flight YOKE 设备键位映射踩过的坑

    背景 VR游戏项目.街机游戏项目7月阶段版本快要结束了,考虑到带有键鼠外设显得逼格比较Low,所以决定采用"高大上"的专业设备来进行游戏操作. 需求 需要将键盘鼠标操作的18个键位 ...

随机推荐

  1. python-多线程和线程池

    import threading # 点击查看它的用法 传统多线程方案会使用“即时创建, 即时销毁”的策略. from multiprocessing.dummy import Pool # 线程池 ...

  2. 使用Fiddler获取手机app数据

    参考资料:https://www.jianshu.com/p/9e05a2522758 Fiddler下载地址   https://www.telerik.com/download/fiddler

  3. 【每日一学】pandas_透视表函数&交叉表函数

    每日一悟 [分开工作内外8小时] 前一个月,我经常把工作内的问题带到路上.地铁上.睡觉前,甚至是周末. 然而很快发现,我工作外的成就几乎没有,而工作内的进展也并不理想. 仔细想想,工作外是需要学新东西 ...

  4. uva-10026-贪心

    题意:有N项工作,每项工作完成需要n天,如果不开始做每天罚fee,开始做即不罚钱,求任务的执行顺序,使得罚钱最少.如果有多组答案,取下标排列最小的那组 解题思路: 考虑工作tn(dn,fn) , 假如 ...

  5. iPhone投影

    iPhone投影到Mac上面的操作,用QuickTime,选择主菜单的新建屏幕录制,然后点击录制按钮右边的箭头,相机切换到iPhone就可以了. 相关操作参照 https://jingyan.baid ...

  6. Java编辑PDF写入文字 插入图片

    package com.test; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Font; import com.itex ...

  7. getent passwd 不能访问到 ldap 的用户

    getent passwd  不能访问到 ldap 的用户,搞了一整个下午! 依然没搞定, 一开始是不知道nslcd 需要启动,另外getent passwd 域, 无有用结果, 换个方式搜索 get ...

  8. Android开发中常见的设计模式(一)——单例模式

    首先了解一些单例模式的概念. 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 这样做有以下几个优点 对于那些比较耗内存的类,只实例化一次可以大大提高性能,尤其是在移动开发中. 保持 ...

  9. JSR303 分組数据验证的使用

    场景:一个Bean ,需要在不同情况下分别做验证 1.依赖:springboot 已经集成 2.定义一个bean (验证对象) import javax.validation.constraints. ...

  10. VS2003在解决方案范围内搜索卡死问题的解决

    在Win7系统上使用VS2003的时候,在解决方案范围内搜索某个内容的时候,VS会卡死. 这是一个兼容性问题,Win7系统对VS2003的兼容性不好, 网上有人讲了一种解决方法是: 在vs2003的图 ...