Jenkins 踩过的坑之再总结-程序员宅基地

技术标签: java  git  运维  

在安装完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的插件完成

 

转载于:https://www.cnblogs.com/vana/p/8707651.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30621959/article/details/99259380

智能推荐

DRF使用记录(二) -序列化器_validationerror(ordereddict([('drug', [errordetail-程序员宅基地

文章浏览阅读707次。drf使用记录(二) - 序列化器简述序列化:序列化器会把模型对象转换成字典,经过response以后变成json字符串反序列化:把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型即在客户端请求时,使用序列化器可以完成对数据的反序列化在服务器响应时,使用序列化器可以完成对数据的序列化序列化定义序列化器Django REST framework中..._validationerror(ordereddict([('drug', [errordetail(string='not a valid strin

python读取pickle,csv,excel文件速度大比拼_python读ecxel快还是读csv-程序员宅基地

文章浏览阅读2.7k次。进行数据处理时数据量一大,excel文件就力不从心。这次对三个文件格式的读取速度做大比拼。# -*- coding: UTF-8 -*-import timeimport pandas as pd"""csvexcelpkl速度大比拼"""start = time.clock()df = pd.read_pickle('table.pkl')elapsed = (tim..._python读ecxel快还是读csv

C语言排序算法演示:冒泡法_c语言测试冒泡算法在不同情况下的表现-程序员宅基地

文章浏览阅读8.8k次。C语言排序算法演示:冒泡法作者:Ackarlix 冒泡排序的算法分析与改进 交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。  应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。 冒泡排序 1、排序方法  将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是_c语言测试冒泡算法在不同情况下的表现

机器学习算法整理(一)线性回归与梯度下降 python实现-程序员宅基地

文章浏览阅读104次。回归算法以下均为自己看视频做的笔记,自用,侵删!一、线性回归θ是bias(偏置项)线性回归算法代码实现# coding: utf-8​get_ipython().run_line_magic('matplotlib', 'inline')import matplotlib.pylab as pltimport numpy ...

N皇后:JAVA的递归实现(回溯法)_递归实现n皇后java-程序员宅基地

文章浏览阅读333次。题目所谓N皇后问题就是:将N位皇后放在一张NxN的棋盘上,使得每位皇后都无法吃掉别的皇后,(即任意两个皇后都不在同一条横线,竖线和斜线上),问一共有多少种摆法。实现及思路package 蓝桥;import java.util.Scanner;public class NQueen { static int count = 0;//解法计数 static int[][] a..._递归实现n皇后java

一次简单的PC游戏汉化-程序员宅基地

文章浏览阅读7.2k次。作者:leexuany(小宝)前言:同样的问题,一千个程序员有一千零一种解决办法。这直接导致了在游戏本地化的过程中,不会存在一个通用的方法。没有不能汉化的游戏,但你得自己想办法。正文:此次汉化的对象是《剑芒罗曼史2》PC日文版。一、修改图片首先是分析文件。浏览游戏安装目录,不难发现大量的mcg文件,这是游戏自己的一个256色压缩图片,因为已经有人做出了解图程序,那我就可以省点事了。

随便推点

Springboot使用RestTemplate发送Post请求postForEntity (application/x-www-form-urlencoded)_resttemplate postforentity-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏14次。Springboot使用RestTemplate发送Post请求postForEntity[application/x-www-form-urlencoded] 背景思路正文ServiceRestTemplate 使用 postForEntity 请求接口基于xml系列注解解析XML返回值XML的一些基本常识实体类与xml文件对应实体代码参考博客背景对接请求为(application/x-www-form-urlencoded),返回XML格式接口。思路ServiceRestTemplate 使用_resttemplate postforentity

【Windows】你没有权限打开该文件,请向文件的所有者或管理员申请权限-程序员宅基地

文章浏览阅读7.4k次。【Windows】你没有权限打开该文件,请向文件的所有者或管理员申请权限原文链接:https://yangman824.gitee.io/posts/windows/问题:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lZMpSi7B-1640160600075)(C:\Users\Sonder\AppData\Roaming\Typora\typora-user-images\image-20211220175325122.png)]解决方法:右键–属性–安全–编

用着超爽的stm32的串口DMA+空闲中断接收和发送方案_串口发送中断和空闲中断同时使能-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏18次。串口一次只能传1byte数据,在实际应用中,我们会发送和接收一串数据,如果没发送和接收一个数据就会进去中断会严重影响程序的正常执行,占用过多的cpu资源。如果串口模块能够自动判别一串数据的结束,并且把接收数据放在我们指定的ram,发送数据直接扔到ram不用cpu操作,那该多省心!stm32的串口DMA+空闲中断接收和发送方案就能实现。我使用的是stm32f103芯片和freertos系统,串口程序已经长时间高效稳定运行在几万台设备上。我使用的是uart4。代码如下:初始化void UART4_Ini_串口发送中断和空闲中断同时使能

一文读懂逻辑信道、传输信道和物理信道-程序员宅基地

文章浏览阅读2.9k次,点赞4次,收藏18次。什么是信道?_逻辑信道

Source Insight 4.0 Sublime主题_sourceinsight4主题-程序员宅基地

文章浏览阅读1.4k次。Source Insight 4.0 Sublime主题_sourceinsight4主题

深入解析 Flutter 初始化流程-程序员宅基地

文章浏览阅读909次。在调研 Flutter 动态化方案的时候,需要了解 Flutter 加载 dart 产物的流程,于是梳理了一遍 FLutter 的初始化流程flutter的源码下载地址在 github 上可以找到,具体地址:github-flutter/engineFLutterMain..._flutterappdelegate 初始化流程

推荐文章

热门文章

相关标签