我希望能够看到在jenkins构建过程中,哪些文件在我的当前分支和主分支之间发生了变化。
在我的jenkinsfile中,我有下面的代码。
git diff-tree -r --no-commit-id --name-only ${env.GIT_COMMIT} origin/master
但我得到下面的错误
fatal:参数'master'不明确:未知的修订或路径不在工作树中。
任何帮助将不胜感激..这将是伟大的,如果有人能告诉我,我做错了什么,或设计一个替代的解决方案,将给我的文件路径的文件已经改变。
仅供参考,上述命令在本地有效,但在jenkins中无效。
3条答案
按热度按时间inkz8wg91#
我终于找到了解决这个问题的方法。@vonc给我指出了正确的方向,但他提供的链接没有任何意义。
这是帮助我的链接。
https://issues.jenkins-ci.org/browse/JENKINS-45666?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel
你必须在jenkins设置中为项目添加一个refspec。如果你使用github组织,你必须在组织设置中应用,因为你不能改变一个特定的repos设置。无论如何,这对我来说是有效的。
将其添加为参考规范。
zqry0prt2#
这意味着Jenkins工作区中没有检出的
master
分支。这是典型的 default 分支为 not
master
的克隆存储库。请确保在jenkins中执行预构建步骤:
然后重试您的差异。
iqjalb3h3#
列出从当前HEAD(当前提交)到主分支(master)的更改文件。