当前位置: 首页 > 知识库问答 >
问题:

Jenkins无法从SCM中找到Jenkins文件

白哲茂
2023-03-14

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

这是我在詹金斯日志中得到的信息:

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没有意义。有人知道这里发生了什么吗?

感谢

共有2个答案

柳向明
2023-03-14

对我来说,Docker在将回购克隆到Docker容器中时,将我的“Jenkinsfile”重命名为“Jenkinsfile”。

解决方案是将jenkins管道设置中jenkins文件的位置更改为所有小写字母“jenkins”

姬天逸
2023-03-14

我认为你把它命名错了,因为你在问题中提到了文件名。

在根目录中搜索了您的项目的脚本,应该称为Jenkinsfile而不是JenkinsFile

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

 类似资料:
  • 我有一个设置,其中存在一个 JenkinsMaster(jenkins-master)机器和一个JenkinsSlave Node(jenkins-server-one)。Slave Node用于编译Maven项目。这些项目是从Gitlab安装中拉下来的。 在主服务器端运行Jenkins作业时,我在控制台中看到以下错误: [ERROR]您指定的目标需要执行一个项目,但此目录(/var/jenkin

  • 我已通过mvn install: install-file将jar文件添加到我的本地maven存储库中,该文件在我的本地机器上运行良好。这是我的pom中的依赖项: 在我的机器上运行mvn清洁安装时,一切正常。现在我有一个本地jenkins实例正在运行(在Windows机器上),它应该构建我的项目。构建遇到错误,jenkins说:

  • 我想要一份具有多个GIT项目的jenkins工作。我想选择一个特定的GIT项目,并在此基础上我应该能够选择要构建的分支(类似于GIT插件)。 有解决这个问题的插件或其他解决方案吗?

  • 我按照这里给出的步骤从外部Jenkins实例连接到openshift在线代理。然而,当我提供OpenShift凭据时,即使我似乎拥有正确的凭据,登录也无法通过。消息“无法请求https://openshift.redhat.com/broker/rest/domains:OpenShift Online(下一代)开发者预览版在这里!我们不会接受OpenShift Online(v2)平台上的新用户

  • 问题内容: 我的xcodebuild通过ant成功运行了。如果我使用ssh进入系统并运行构建,则可以正常工作。但是,当通过Jenkins调用相同的ant目标(在mac上作为从设备运行)时,经典 为了使其正常工作,我尝试通过“ sudo ant”调用来运行它,当然,这会导致相同的错误。本地用户和root用户都回显相同的$ PATH,所以这不是问题。我看不到改变环境或改变Jenkins调用ant的用户

  • 当运行下面的jenkins管道代码时,我得到了错误。我在指定的位置找不到文件,这是一个错误。所以我尝试了很多方法,但得到了同样的错误。 即使有人知道如何写jenkins文件,也可以评论它,或者如果你有任何网址,也可以在评论中发布。这会有很大帮助的 我已经附上了上面的所有数据,如果有人知道答案,请回答问题