在安装完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. JVM总结-垃圾回收(下)

    大部分的 Java 对象只存活一小段时间,而存活下来的小部分 Java 对象则会存活很长一段时间. 之所以要提到这个假设,是因为它造就了 Java 虚拟机的分代回收思想.简单来说,就是将堆空间划分为两 ...

  2. 关于oracle中varchar2与nvarchar2的一点认识

    今天在oracle 10g下测试了下varchar2与nvarchar2这两种类型,网上有很多关于这两种类型的区别的帖子,我还是自己测试了下. varchar2(size type),size最大为4 ...

  3. 安卓手机H5底部fix定位,呼出键盘底部会上浮解决办法

    <script type="text/javascript">var windowInnerHeight = window.innerHeight; //获取当前浏览器 ...

  4. 精通Web Analytics 2.0 (12) 第十章:针对潜在的网站分析陷阱的最佳解决方案

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第十章:针对潜在的网站分析陷阱的最佳解决方案 是时候去处理网站分析中最棘手的一些问题了,然后获得属于你的黑带,这是成为分析忍者的 ...

  5. 键值对操作 之 combineByKey

    combineByKey( createCombiner,mergeValue,mergeCombiners,partitioner) combineByKey() 是最为常用的基于键进行聚合的函数. ...

  6. scrapy中deferred的回调

    def _next_request_from_scheduler(self, spider):#在引擎中处理一个请求 slot = self.slot request = slot.scheduler ...

  7. java poi处理excel多sheet并实现排序

    需求:有一个数据字典全量汇总表,其中第一个sheet为目录,包括编号和表名,第二个以后为表的明细.其中sheet名就是表名但无序,sheet内字段序号无序有空行 现在要求将其中101,104,107, ...

  8. Promise笔记

    参考:阮一峰es6(http://es6.ruanyifeng.com/#docs/promise) 时间:2018-07-03 类型:个人笔记 解决的问题:异步编程的一种解决方案. 定义:Promi ...

  9. Human Interface Device (HID) Class Decoder

    http://www.usblyzer.com/usb-human-interface-device-hid-class-decoder.htm   Human Interface Device (H ...

  10. day39-异常处理

    一.程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def test: pass ...