jenkins迁移jobs后项目构建出现java.nio.file.directorynotempt(代码片段)

author author     2022-12-14     660

关键词:

1、首先说一下迁移过程
1)新环境部署Jenkins持续集成环境,这里不在详细说明安装过程;
2)直接把旧的Jenkins家目录下得jobs目录通过scp得方式进行传输到新得环境下;

迁移完成后启动新环境Jenkins服务,构建项目控制台输出如下:

技术图片

观察控制台输出到最后,项目是构建成功得,而且不影响运行。

2、错误原因
通过Google查找得知有人提交了这个issues,This started happening on a new Jenkins server that a teammate was trying to setup by cloning an existing one, and I found out that he used scp -r to copy the whole working tree and that resulted in the lastSuccessful and lastStable soft-links to get converted to physical directories. I guess Jenkins was trying to remove it like it is a file (which a soft-link is), but since it turned out to be a directory that is not empty, it is causing this exception. When you remove/rename these directories, it clears the path for Jenkins to recreate the soft-links thus solving the problem. 链接详情请移步到:https://issues.jenkins-ci.org/browse/JENKINS-21330
翻译如下:
这开始发生在一个新的Jenkins服务器上,队友试图通过克隆现有的服务器来设置,我发现他使用scp -r来复制整个工作树,这导致了lastSuccessful和lastStable软链接转换为物理目录。我猜Jenkins试图删除它,就像它是一个文件(软链接),但由于它原来是一个非空的目录,它导致了这个异常。当您删除/重命名这些目录时,它会清除Jenkins重新创建软链接的路径,从而解决问题。

3、解决问题
以上我们知道问题所在就很方便得解决问题了,首先登陆到新环境下,删除所有项目得 lastSuccessful 和 lastStable目录:

find jobs/ -type d \( -name "lastSuccessful" -o -name "lastStable" \)  -exec rm -rf  \;

执行完成之后再次构建项目就不会再出现以上异常了。

36-jenkins-job迁移

...迁移前言1.安装插件2.配置信息3.使用插件前言本篇来学习Jenkins中如何快速迁移job。在工作中可能会遇到这样的场景,即需要把一个Jenkins上的job迁移到另外一台Jenkins上,那怎么做比较好呢?一起来学习下吧。1.安装插... 查看详情

jenkins--02命令行构建job

1.查看说明并下载文件1.1下载jenkins-cli.jar:http://127.0.0.1:8080/jenkins/cli1.2jenkins-cli.jar命令帮助:java-jarjenkins-cli.jar-s http://127.0.0.1:8080/jenkins/ -help 2.使用build命令构建一个Jobjava-jarjenkins- 查看详情

jenkins根据svn增量更新

jenkins在构建的时候只从SVN构建更新的部分,而不是全部源码都重新构建参考技术A构建先添加一个ant构建,在添加一个执行windows批处理命令,结果如下:通过这里的构建环境的配置,我们可以在构建发生前进行一些准备工作。我... 查看详情

重命名后项目崩溃

】重命名后项目崩溃【英文标题】:ProjectCrashesAfterRename【发布时间】:2013-01-1718:18:41【问题描述】:如果我在XCode中的导航器视图中更改我的iOS项目的名称:WhatistheequivalentofProject->RenameinXcode4或者在Inspector中,像这样:http://woo... 查看详情

jenkins构建时间变量(代码片段)

在jenkins持续集成工作中,有时需要使用到job的构建时间,那么,如何获取到job每次的构建时间呢?在jenkins的内置环境变量中,没有job的构建时间变量,要获取job的构建时间,可以安装BuildTimestampPlugin并使用BUILD_TIMESTAMP变量,具... 查看详情

jenkins迁移

1、新服务器下载安装jenkins.msi、安装相关软件、配置环境变量完成2、停止两个服务器的jenkins服务3、压缩jenkins目录下,压缩备份文件config.xml文件,jobs文件夹,users文件夹和plugins文件夹。从名称上就可以看出来各自的作用,config... 查看详情

命令行执行jenkins,构建job(可传递参数)

背景|组内做UI测试,需要每天晚上执行一遍jenkins任务,jenkins任务本身是参数化构建的。但是因为jenkins本身的定时执行没有办法指定特殊的参数,所以考虑使用命令行方式启动jenkins 第一步:下载jenkins-cli.jar,查看帮助文档... 查看详情

jenkins中的job配置里缺少“触发远程构建(例如,使用脚本)triggerbuildsremotely”选项的问题解决

如图所示的功能没有出现在Job配置页面,这是由于权限问题导致的,解决方法如下:1、【系统管理】->【ConfigureGlobalSecurity】2、配置如下:3、或者你有第三方权限的配置都可以解决。 以上方法参考:http://blog.csdn.net/taoli198... 查看详情

jenkins触发job插件_join

...ob的结果并生成报告,此时就需要使用到Join插件需要配合jenkins自带的构建后操作的功能使用jenkins本身也有在job构建完成后,指定接下来构建的job,但是无法实现这种多job完成后,再执行某个job的情况。但是可以结合join来使用。... 查看详情

jenkins按角色授权

...都公用一个构建,否则将会变得很混乱,为了解决这一问题,jenkins提供了角色授权的机制.每个开发有着对应的账号和权限,可以自行新建、构建、测试、发布. 角色授权需要安装的插件:Role-basedAuthorizationStrategy1.系统配置(前提:已... 查看详情

java开发实战!java导入项目后项目名红色感叹号

头条二面二轮技术面,17:00~20:25,晚饭时间hr小姐姐还特贴心的带我体验了一把传说中的头条餐厅,不超过半小时聊项目,画项目架构图,画一个用户从发起请求到接收到响应中间经过哪些服务每个... 查看详情

jenkins参数化构建插件_parameterizedtrigger

参考技术AParameterizedTrigger,参数化触发器。主要用于不同job之间参数传递的场景,可以根据已经完成构建的结果,触发新Job或者传递参数。比如有个job是用来获取token的,我们可以在构建操作中通过命令行之类的拿到了token,这... 查看详情

jenkins只能同时构建2个job怎么办?

在jenkins构建任务时,同时只能构建2个,如果两个没有job没有结束,构建第3个就会不执行:提示:pending—Waitingfornextavailableexecutoron主服务器通过设置节点中一下配置#ofexecutors:最大同时构建数量根据机器的性能定,单颗四核cpu... 查看详情

jenkins分布式(代码片段)

一.jenkins分布式作用在众多Job的场景下,单台jenkinsmaster同时执行代码clone、编译、打包及构建,其性能可能会出现瓶颈从而会影响代码部署效率,影响jenkins官方提供了jenkins分布式构建,将众多job分散运行到不同的jenkinsslave节点... 查看详情

缷载vs2015后项目不能加载问题

当加载项目时出现MSBuildToolsPathisnotspecifiedfortheToolsVersion"14.0"definedat"HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSBuildToolsVersions14.0",orthevaluespecifiedevaluatestotheemptystring解决办法是:1.运行regedti2 查看详情

jenkinsjob构建(代码片段)

JenkinsJob构建jenkins安装见https://www.cnblogs.com/wengshaohang/p/12272952.htmlFreestyleJob与PipelineJob区别:FreestyleJob需要在页面添加模块配置项与参数完成配置;每个Job仅能实现一个开发功能;无法将配置代码化,不利于Job配置迁移与版本控制... 查看详情

执行数据库绑定后项目为空

】执行数据库绑定后项目为空【英文标题】:Itemsemptyafterdoingdbbind【发布时间】:2019-12-1400:48:17【问题描述】:所以我尝试使用vuefire和vue在列表中显示基本数据,但项目对象为空这是列表items.vue文件<template><div><h1>Li... 查看详情

jenkins构建机配置

jenkins构建机:将代码从git上拉到构建机上,从而减少jenkins服务器的压力。与job是一对多的关系。从jenkins配置与构建机配置两方面记录。1、jenkins配置系统管理-管理节点-新建-...-launch  job配置   2、构建机配置... 查看详情