我在GitHub上有两个私有存储库,名为dashboard和ui。我将ui定义为dashboard的一个git子模块,并将对接器配置为在特定分支上的每个更改上自动构建dashboard。
我阅读了这个文档https://docs.docker.com/docker-hub/builds/,但是当我试图在ui的设置中设置由停靠者提供的部署密钥时,它写的是“已经在使用的密钥”。实际上,dashboard已经使用这个密钥来允许码头自动构建这个回购!
这是我的码头构建日志:
错误: 克隆库失败:克隆到‘/tmp/build_byaxHis7sznbvmb6wgwzm6n’.子模块‘app//ui’(git@github.com:yllieth/ui.git)注册路径‘app/样式/ui’克隆为'app/styles/ui‘.警告:将“github.com,192.30.252.130”(RSA)永久添加到已知主机列表中。错误:未找到存储库。致命:远程终端意外挂起'git@github.com:yllieth/ui.git‘进入子模块路径’app/样式/ui‘失败 文档:无
即使我在我的dashboard回购中定义了一个Dockerfile,Docker也找不到任何Dockerfile。因此,我将无法给它任何指示或添加另一个SSH密钥。
如果有人知道如何使用私有repos和git子模块使用自动构建,我很感兴趣!!
发布于 2015-03-23 18:21:58
如果您的GitHub存储库包含到私有子模块的链接,您将在构建中得到一条错误消息。通常,Docker在GitHub存储库中设置一个部署密钥。不幸的是,GitHub只允许存储库部署密钥访问单个存储库。作为解决办法,您需要在GitHub中创建一个专用的用户帐户,并将自动构建的部署键附加到该帐户。这个专用的构建帐户可以仅限于对构建所需的存储库的只读访问。
一个家伙已经在码头文档中启动了请求更新的请求。他还包括可能帮助你解决这个问题的截图。
发布于 2015-02-17 02:17:15
这很难看,但您可以在github调用它们时创建一个机器用户,并将部署键作为用户的密钥添加到其中(在从部署键中删除它之后)。然后将该用户作为只读用户添加到该构建所需的每个回购中。
我在等码头队的消息。
发布于 2015-02-12 18:39:22
如果子模块不能工作,可以尝试切换到子树。几乎没有什么变化,它也是一样的。子树在项目中用作远程。
https://medium.com/@v/git-subtrees-a-tutorial-6ff568381844
http://git-scm.com/book/en/v1/Git-Tools-Subtree-Merging
http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/
https://stackoverflow.com/questions/26157290
复制相似问题