首页 > 解决方案 > 如何在 Jenkins 共享库的 OpenShift 构建中对基于文件的 git 存储库进行完整的 git 克隆?

问题描述

在构建自定义 Jenkins 镜像以包含我们的共享库时,使用 Dockerfile 将 repo 拉入 Jenkins 容器镜像,构建工作正常。但是,每当 Jenkins 尝试在构建中使用共享库时,当构建尝试在我们的共享库存储库上运行“git ls-remote”命令时,我会收到一条消息“状态代码 128”。它表明它不能在浅 git repo 上执行此操作。如何防止将浅层回购放在那里?

标签: jenkinsshared-libraries

解决方案


当 OpenShift 将 repo 克隆到构建环境中时,它会进行浅层克隆。这意味着您的 Dockerfile 只能访问浅层 git 克隆,而不是整个克隆,因此它会将其复制进去。您可以通过ref:在 BuildConfig 的 git 部分添加 a 来告诉 OpenShift 不要进行浅层克隆。这会强制执行完整的 git 克隆,并使完整的 repo 可用于加载到您的 Jenkins 容器中。


推荐阅读