怎样建公司网站,默认网站预览能能显示建设中,徐州建站费用,重庆市城市建设规划官方网站01、Performance插件兼容性问题 自由风格项目中#xff0c;有使用 Performance 插件收集构建产物#xff0c;但是截至到目前最新版本#xff08;Jenkins v2.298#xff0c;Performance#xff1a;v3.19#xff09;#xff0c;此插件和Jenkins都存在有兼容性问题#xf…01、Performance插件兼容性问题 自由风格项目中有使用 Performance 插件收集构建产物但是截至到目前最新版本Jenkins v2.298Performancev3.19此插件和Jenkins都存在有兼容性问题会导致项目配置页面tablediv错位而导致无法保存配置这个问题已经存在了好长时间了至少半年插件作者一直没有修复目前在项目中要想使用这个插件有以下三种解决办法
将自由风格项目切换为流水线风格 服务器上手动修改项目的config.xml文件以达到保存配置的效果 Jenkins版本降级经过测试此插件在v2.263.4 LTS上可以正常使用降级前做好备份工作以及考虑其他插件的兼容性问题 02、修改Jenkins 安全策略CSP 场景
借助 Robot Framework Plugin可将Robot Framework项目更好的集成到Jenkins中但是直接在Jenkins 项目中点击预览测试报告会出现 Opening Robot Framework log failed 的错误这是由于Jenkins为了避免受到恶意HTML/JS文件的攻击会默认将安全策略CSP设置为
sandbox; default-src none; img-src self; style-src self;
在此配置下只允许加载Jenkins服务器上托管的CSS文件和图片文件。解决办法需要借助 Startup Trigger 和 Groovy plugin 两个插件具体步骤如下
Jenkins中新建一个Job该Job专用Jenkins启动时执行的配置命令 在“构建触发器”模块选择“Build when job nodes start”选项Restricted node Label保持空白Quiet period设置为0 在“构建”模块选择“Execute system Groovy ”执行如下Groovy命令:
System.setProperty(hudson.model.DirectoryBrowserSupport.CSP, )
重启Jenkins服务器进行测试会发现等待所有节点连接成功后此项目会立即自动触发构建。再去触发Robot项目构建等待完成后点击访问测试报告页面会发现已经可以正常访问了 03、自定义Jenkins相对访问路径 场景
nginx 为Jenkins做目录代理同时站点下还代理了很多其他的应用这里需要自定义Jenkins相对访问路径。
本机访问Jenkins的路径为http://localhost:29908需要改为http://localhost:29908/jenkins
方法如下
在Jenkins安装根目录下找到 jenkins.xml文件 找到service节点下的 arguements 子节点并在最后面添加--prefix参数 --prefix/jenkins其中 /jenkins 是自定义的访问路径 重启Jenkins服务此时本机已经可以通过http://localhost:29908/jenkins进行访问 测试目录代理访问
注意如果在目录代理之前子节点和主节点之间就已经通过JNLP的方式连接好了则需要找到子节点根目录下的 jenkins-slave.xml 文件将service.arguements节点-jnlpUrl 参数值修改为正确的值。
04、git clone失败 : Killed by signal 15
场景
jenkins项目clone代码时出现任务被kill掉的情况导致出现以下错误信息 通过查看控制台的输出日志可以看出原因是因为超时了。如果在限制时间内代码都没有clone完成那么就任务就会被强制杀死 解决方法
当所需要clone的版本库过大或服务器网速较差时clone的时间会超过默认的10分钟。因此需要修改 clone 的超时时间。
设置方法如下 Jenkins:Build step Execute Windows batch command marked build as failure 场景
使用Jenkins定时跑接口测试用例明明所有的用例都执行成功了但是还是会触发执行失败时的邮件通知查看Jenkins控制台日志发现是由于上面截图的原因导致的。
解决方法
在bat脚本(shell同样适用)最后一行加上exit 0表示正常运行程序并退出程序。
Jenkins运行在Tomcat容器中替换jar包的方法 背景jenkins.war中引用的 commons-fileupload-1.3.1-jenkins-2.jar 被扫出来有安全隐患需要替换到最新的1.4版本因为扫描的时候是根据版本来的如果直接采用覆盖并重命名的方法还是会被扫出来目前采取的方法是创建软连接。
先下载最新的commons-fileupload-1.4.jar 创建软链接(管理员权限)Linux系统下同理。
mklink webapps\jenkins\WEB-INF\lib\commons-fileupload-1.3.1-jenkins-2.jar webapps\jenkins\WEB-INF\lib\commons-fileupload-1.4.jar 把旧的commons-fileupload-1.3.1-jenkins-2.jar删除 重启tomcat 05、Windows节点机无法运行jnlp文件 在节点机双击jnlp文件没有反应时可以尝试用命令行方式运行此文件cmd进入jnlp文件目录下运行 javaws slave-agent.jnlp可以查看具体的错误提示如下
上图中这种情况只需要修改下java安全配置即可解决其他情况再具体分析。
06、关闭CSRF防护 Jenkins v2.204.6之前的版本要想关闭CSRF防护只需要在全局安全配置中禁用相关配置即可但是较高版本的 Jenkins 默认均开启CSRF防护且删除了禁用的入口。要想禁用CSRF防护只能通过配置参数的方式。
Jenkins若是跑在Tomcat下只需在tomcat启动脚本中加入配置如下
-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTIONtrue
若是以jar包形式部署的只需在启动时加上配置参数即可。
07、修改 JVM 的内存配置 无论是以 Jdk Jar 方式运行Jenkins还是将 War 包放在 Tomcat等容器下运行都会存在一个问题默认 JVM 内存分配太少这导致启动或者运行一段时间后内存溢出报错java.lang.OutOfMemoryError: PermGen spac
所以需要在启动前修改配置文件中的JVM 内存配置
set JAVA_OPTS-server-Xms5000M
-Xmx5000M -Xss512k-XX:AggressiveOpts
-XX:UseBiasedLocking-XX:PermSize256M
-XX:MaxPermSize512M
-XX:DisableExplicitGC-XX:MaxTenuringThreshold31 -XX:UseConcMarkSweepGC-XX:UseParNewGC -XX:CMSParallelRemarkEnabled -XX:UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes128m -XX:UseFastAccessorMethods -XX:UseCMSInitiatingOccupancyOnly -Djava.awt.headlesstrue
这里的几个 JVM 参数含义如下
-Xms: 使用的最小堆内存大小 -Xmx: 使用的最大堆内存大小 -XX:PermSize: 内存的永久保存区域大小 -XX:MaxPermSize: 最大内存的永久保存区域大小这几个参数也不是配置越大越好具体要根据所在机器实际内存和使用大小配置。 08、配置优化减少磁盘空间占用 Job 构建历史较多时如果没有配置好清理策略的话会导致占用大量磁盘空间最终可能会因磁盘空间不够而导致构建失败。并且在加载项目配置时Jenkins也需要花费时间分析历史构建记录页面加载的耗时会相应的增加。
1、丢弃旧的构建配置
如上图配置最大保持 2 天之内的构建如果超过 2 天的构建则会在Job 执行前被清理掉同时配置了最大保持构建数量为 30 个意思就是如果 2 天内构建次数如果超过 30 次则最多保留最近执行的 30 个构建。
2、使用Disk Uasge插件 不建议使用此插件的过程中发现可能会导致服务器卡顿。
3、定时清理tomcat日志 默认情况下tomcat每天都会生成新的日志文件且某些情况下产生的日志文件体积会非常大如果长期不清理日志文件会越来越多占用很多磁盘空间。
目前的处理方法是在Jenkins新建了一个定时任务专门用来删除tomcat产生的日志文件。 09、设置构建时间 有些 Job 在执行构建时由于某些原因导致构建挂起耗时比较长而这些长时间挂起的 Job 会导致 Jenkins 内存占用比较大性能下降严重的会直接导致 Jenkins 挂掉。
所以我们需要设置构建超时时间来预防这种事情发生一旦超过一定的时间要让 Job 自动停止掉如下
设置全局属性 适当设置全局属性可以避免在pipeline中重复写死一些固定值例如输出日志地址、接口请求地址等等而且当固定值需要修改时只需要修改一次即可不用去每个文件里面修改方便维护。设置入口为系统管理 - 系统配置- 全局属性- Environment variables
如下图
10、统一管理脚本 需要安装 Managed script 插件该插件是为了在管理文件时创建 Script 脚本文件然后在 Job 中配置直接使用方便脚本的统一管理和维护。
插件安装完成后进入“系统管理” — “Managed files” 点击 “Add a new Config” 并选择 “Groovy file” 类型创建一个新的 Groovy 脚本文件然后输入我们要执行的脚本代码如下
创建完毕后我们在 Job 中构建处选择 “Execute managed script” 就可以使用这些脚本了。
11、轻量备份 使用 ThinBackup 插件允许我们对Jenkins配置信息进行全量或增量备份由于插件不会保存构建历史和构建工件所备份过程更为快捷并且无需关闭Jenkins服务器。 还原备份 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 文档获取方式
加入我的软件测试交流群632880530免费获取~同行大佬一起学术交流每晚都有大佬直播分享技术知识点
这份文档对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你 以上均可以分享只需要你搜索vx公众号程序员雨果即可免费领取