jenkins - 如何在 Jenkins 共享库的 OpenShift 构建中对基于文件的 git 存储库进行完整的 git 克隆?
问题描述
在构建自定义 Jenkins 镜像以包含我们的共享库时,使用 Dockerfile 将 repo 拉入 Jenkins 容器镜像,构建工作正常。但是,每当 Jenkins 尝试在构建中使用共享库时,当构建尝试在我们的共享库存储库上运行“git ls-remote”命令时,我会收到一条消息“状态代码 128”。它表明它不能在浅 git repo 上执行此操作。如何防止将浅层回购放在那里?
解决方案
当 OpenShift 将 repo 克隆到构建环境中时,它会进行浅层克隆。这意味着您的 Dockerfile 只能访问浅层 git 克隆,而不是整个克隆,因此它会将其复制进去。您可以通过ref:
在 BuildConfig 的 git 部分添加 a 来告诉 OpenShift 不要进行浅层克隆。这会强制执行完整的 git 克隆,并使完整的 repo 可用于加载到您的 Jenkins 容器中。
推荐阅读
- android - 相对布局上的 onClickListener 不起作用
- c++ - 如何在此代码中将数字添加到我的数组中?
- makefile - 如何使用 Makefile 在子文件夹中构建应用程序
- github - 如何使用 github API 获取原始 github 数据
- python - datetime.datetime.strptime 说格式错误。怎么解决?
- scala - 如何避免多个集群和开发人员并行工作的数据块工作区中的 jar 冲突?
- r - 为什么我的回归线现在出现了?
- laravel - 无法广播客户端事件(连接未订阅频道私聊)
- git - 从另一个分支创建一个具有最新更改的分支?
- javascript - 在反应中传递一个函数来映射