Jenkins在从SCM中查找JenkinsFile时遇到困难

b4wnujal  于 2022-09-20  发布在  Jenkins
关注(0)|答案(3)|浏览(613)

我正在将一个旧的Jenkins构建迁移到新的声明性管道中。现在我已经完成了构建并运行,我需要从git获取JenkinsFile(而不是将其留在Jenkins窗口中)。问题是,Jenkins从Git获取文件,但在提取文件后又在错误的位置查找它。以下是配置:

这是我在Jenkins日志中收到的消息:

Checking out git https://github.com/xxx/xxx_dev.git to read Jenkinsfile
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/xxx/xxx_dev.git # timeout=10
Fetching upstream changes from https://github.com/xxx/xxx_dev.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials xxx Build
 > git fetch --tags --progress https://github.com/xxx/xxx_dev.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 43bd167e0e222fb517a8deb5ce6c6c6ba3619153 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 43bd167e0e222fb517a8deb5ce6c6c6ba3619153
 > git rev-list 82e6fdcce2587aa6368d63449ac57c9f02a1f835 # timeout=10
ERROR: /u03/jenkins/jobs/xxx/jobs/Build_Main/jobs/vs2015/workspace@script/Jenkinsfile not found
Finished: FAILURE

构建代理似乎正在主Jenkins服务器计算机上的某个位置查找Jenkins文件。构建机器是一台Windows机器,所以/u03/jenkins/jobs/xxx/jobs/Build_Main/jobs/vs2015/workspace@script/Jenkinsfile没有意义。有人知道这是怎么回事吗?

谢谢!

ssm49v7z

ssm49v7z1#

我想你的名字是错的,因为你在问题中提到了文件名。

已在项目的根目录中搜索该脚本,应该将其命名为Jenkinsfile,而不是JenkinsFile

因此,正确命名文件并将其移动到存储库的根目录中。

7tofc5zh

7tofc5zh2#

对我来说,在将repo克隆到docker容器中时,Docker将我的‘Jenkinsfile’重命名为‘jenkinsfile’。

解决方案是将Jenkinsfile在Jenkins管道设置中的位置全部更改为小写‘jenkins’

yx2lnoni

yx2lnoni3#

将Jenkins文件移动到单独的解决方案文件夹(目录)是一个好主意,因为这也有助于保持代码的条理性,例如我的案例

确保在脚本路径中添加完全相同的路径

相关问题