FAQ之Jenkins

Q:jenkins中执行shell脚本,提示:java: command not found
R:Jenkins默认情况下执行shell脚本是使用非登录方式,然而非登录方式不会加载 /etc/profile 文件
S:在 Execute shell 中 添加如#!/bin/sh -l 命令修改为登录方式即可解决问题

Q:jenkins中execute shell脚本,部分进程被杀掉
R:jenkins中自动杀掉衍生进程
S:
方法一:在execute shell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins衍生进程
方法二:修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。需要重启jenkins生效
此方法配置一次后,所有的job都无需设置BUILD_ID,就能够防止jenkins杀死
S:Jenkins的系统管理中一定得配置好JDK的路径

Q:svn服务器验证失败出现unrecognized_name
S:在Jenkins的配置文件中增加一个运行参数 -Djsse.enableSNIExtension=false

Q:jenkins报错jenkins: Fails on “Unable to read /var/lib/jenkins/config.xml”
S:直接删除/var/lib/jenkins/config.xml这个文件

S:配置一个build job时指定每个svn checkout的本地文件夹,不然可能导致后一个checkout工程时会clean前面已经checkout的工程(Cleaning local Directory)

Q:server_name配置的随便写的域名,客户机无法访问问题?
S:修改客户机hosts文件(C:\Windows\System32\drivers\etc\hosts)
例如:192.168.1.171 ci.abc.com

Q:jenkins 下使用 HTML Publisher 插件后查看 html 报告显示不正常 以 jmeter 报告为例
R:Jenkins安全默认是将以下功能都关闭了
1、javascript
2、html上的内置插件
3、内置css或从其它站的css
4、从其它站的图处
5、AJAX
S:解决方案如下:
方案一:进入【系统管理】-【脚本命令行】中输入:System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”)后执行,但此方案Jenkins重启后会重置jenkins的安全配置,需要再次执行;
方案二:
jenkins上安装 Groovy 插件,用来执行系统 Groovy 脚本,安装完成后,在增加构建步骤里添加:
Execute system Groovy script
注意:此构建必须放到最开始位置,不然不生效;
在这里插入图片描述
执行脚本:System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”)
把脚本执行集成在项目中,这样就不用担心Jenkins重启了。
参考文档:https://stackoverflow.com/questions/35783964/jenkins-html-publisher-plugin-no-css-is-displayed-when-report-is-viewed-in-j

Q:Jenkins中执行Jmeter脚本,jmeter脚本执行执行失败,但是Jenkins构建成功
R:Jenkins通过退出代码是否为0判断build是否成功
S:增加脚本判断来判断Jmeter脚本执行失败
result=‘failure’
grep -q ‘class=“failure”’ /data/report/html/Jmeter-report.html || result=‘success’
if [ $result == “failure” ]; then
echo “Jmeter test failure !!!”
exit 1
fi
如下图:
在这里插入图片描述

Q:勾选 “通过发送测试邮件配置”,点击"test configuration"按钮,显示报错如下:
Failed to send out e-mail
com.sun.mail.smtp.SMTPSendFailedException: 501 mail from address must be same as authorization user;
S:解决办法:系统设置中,系统管理员邮件地址必须与系统设置中邮件通知下SMTP的发件地址一致
在这里插入图片描述
在这里插入图片描述

Q:Jenkins新建项目中源码管理使用Git时遇到如下问题:
Failed to connect to repository : Error performing command: git ls-remote -h
R:git未安装或者yum install git 安装的Git版本过低,可使用如下命令查看git版本和安装位置
git version
whereis git
在这里插入图片描述
S:Jenkins安装插件或自行安装更高版本,打开Jenkins的 主页面 > 系统管理 > Global Tool Configuration
打开Jenkins的 主页面 > 系统管理 > Global Tool Configuration
可以看到错误提示:There’s no such executable git in PATH: /sbin, /usr/sbin, /bin, /usr/bin.
在这里插入图片描述
在出错的地方填入: “whereis git"的地址 + “/bin/git” (如上面"whereis git"的地址为”/usr/local/git",则应该填入 “/usr/local/git/bin/git”) 并保存
多刷新几次,在源码管理中添加Git 地址,可以发现已经好了

Q:安装过程中出现一个错误: No such plugin: cloudbees-folder
安装插件,有时候会报类似的错误:An error occurred during installation: No such plugin: cloudbees-folder
R:上面的错误显示是,安装插件cloudbees-folder失败,是因为下载的Jenkins.war里没有cloudbees-folder插件
S:需要在网上下载:http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/
下载cloudbees-folder.hpi放在/usr/local/tomcatJenkins-8090/webapps/jenkins/WEB-INF/detached-plugins即可
重启tomcat,浏览器访问Jenkins服务器,设置用户名、密码等,然后进入Jenkins首页

Q:Jenkins安装成功,登录后出现This Jenkins instance appears to be offline
S:找到hudson.model.UpdateCenter.xml这个文件并将此文件的更新地址修改成http
https://www.cnblogs.com/wujuan321/p/7551232.html

Q:使用tomcat启动jenkins报如下错误
在这里插入图片描述
R:Java在访问SSL加密的网站时,需要从JDK的KeyStore 里面去查找相对应得可信证书,如果不能从默认或者指定的KeyStore 中找到可信证书,就会报这个错误。另外,Java所使用的证书仓库并不是Windows系统自带的证书管理。所以即使系统中包含此证书也不可以使用。
S:进入JENKINS_HOME所在目录找到文件hudson.model.UpdateCenter.xml,将https://updates.jenkins.io/update-center.json修改为http://updates.jenkins.io/update-center.json,重启tomcat即可解决。

Q:Jenkins在Master上配置Slave时,Slave的启动方式选项中没有Launch slave agents via Java Web Start?
在这里插入图片描述
R:
S:点击【系统管理】—【全局安全配置】,进入【全局安全配置】页面,找到【代理】,选中【随机选取】后,点击【代理协议…】按钮,如下图,点击【保存】按钮。
在这里插入图片描述

Q:在Slave机器上运行如下命令没有任何反应?
javaws http://192.168.1.179:8080/jenkins/computer/slave_177/slave-agent.jnlp
R:输入javaws 查看命令运行介绍
S:添加-wait参数即可;
在命令行中输入如下命令,等待一段时间会弹出是否运行Java程序,点击确定
javaws -wait http://192.168.1.179:8080/jenkins/computer/slave_177/slave-agent.jnlp

Q:jenkins执行shell命令,有时会提示“Command not found”----处理方案
R:
S:
1、如果登录linux,shell命令不可以执行,同样提示“Command not found”,则是环境变量设置失败,需要配置环境变量、/etc/profile
2、如果登录linux,shell命令可以执行,则是jenkins没有加载/etc/profile导致,需要在jenkins调用shell脚本的最前面加一行脚本,#!/bin/bash -ilex,可以通过-i参数和-l参数让bash为login shell and interactive shell,就可以读取/etc/profile和~/.bash_profile等文件。
3.在脚本中添加如下命令:
#!/bin/bash
source ~/.bash_profile
source /etc/profile

Q:Tomcat 9.0.14出现The valid characters are defined in RFC 7230 and RFC 3986
R:
1.在tomcat 8.0.35之后 ,tomcat对url的参数做了比较规范的限制,必须按照RFC 7230 and RFC 3986规范,对于非保留字字符,如果不做转义处理,一律都会报The valid characters are defined in RFC 7230 and RFC 3986 错误
2.RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符。
S:
1.换了个低版本的tomcat
2.遵循7230 and RFC 3986规范,对于非保留字字符做转义操作
3.使用保留字字符
4.将json数据进行urlencode编码
参见:https://blog.csdn.net/qq_26975307/article/details/81459826

Q:执行命令java -jar /root/jenkins-cli.jar -s http://47.104.77.127:8080/jenkins/ build test出现如下错误:‘ERROR: anonymous is missing the Overall/Read permission’
R:没有进行身份验证
S:
方案一:
进入Jenkins【系统管理】-【全局安全配置】-【授权策略】选中【登录用户可以做任何事】后保存
方案二:
命令中添加-auth参数,修改命令如下:
java -jar /root/jenkins-cli.jar -s http://47.104.77.127:8080/jenkins/ -auth test:123qwe build test

Q:在Windows PowerShell中输入【mvn archetype:generate -Dfilter=io.jenkins.archetypes:】出现如下错误:
在这里插入图片描述
S:PowerShell 窗口下,执行带参数的命令,参数部分需要使用单引号括起来
R:
方案一、命令改为:mvn archetype:generate ‘-Dfilter=io.jenkins.archetypes:’
方案二、不要使用PowerShell命令行模式,使用 cmd 进入命令行执行:mvn archetype:generate -Dfilter=io.jenkins.archetypes:

Q:jenkins构建allure报Can’t find allure commandline
R:【系统管理】-【全局工具配置】-【Allure commandline 】配置有问题
S:解决步骤如下:
步骤1.访问连接http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/下载allure-commandline安装包
步骤2.进入【系统管理】-【全局工具配置】-【Allure commandline 】配置allure commandline的路径,如下图所示,注意不要进入到bin目录
在这里插入图片描述
参见:https://www.jianshu.com/p/f904aacc1563

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值