如题所述,博主最近想在Jenkins中自动化部署gitlab项目,但是在Jenkins中的shell脚本执行git submodule时报:
fatal: could not read Username for ‘xxxx’: No such device or address
本质原因是 服务器没有权限去拉取git子库,有如下几种解决方案:
- 将服务器的公钥配置到gitlab中,但这样服务器上的所有人都能clone你的代码
- 将username和password配置到服务器中,存在同样的问题
- 将gitlab的子仓库设置成public,这相当于裤衩都被脱掉了。。。
- 使用高级子模块克隆功能,可以完美解决这个问题
我们使用第4种方案解决这个问题,
设置步骤如下:
- 在Configure中添加
Additional Behaviours
项
- 点击
Add
后选择Advanced sub-modules behaviours
高级子模块行为
- 勾选
Use credentials from default remote of parent repository
使用来自父存储库的默认远程的凭据
- Save并Apply,即可解决问题。
参考文献:
- https://blog.csdn.net/weixin_43674509/article/details/110926610
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)