2014-10-02 43 views
5

我在GitHub上有两个私人存储库,名为dashboardui。我将ui定义为dashboard的git子模块,并且我将Docker配置为自动构建dashboard对特定分支上的每个更改。git私有子模块的docker autobuild

我阅读了这个文档https://docs.docker.com/docker-hub/builds/,但是当我尝试设置docker在我的ui的设置中给出的部署密钥时,它说“密钥已被使用”。事实上,dashboard已使用此密钥来允许docker自动构建此回购站!

这里是我的搬运工生成日志:

Error:

Failed to clone repository: Cloning into '/tmp/build_byaxhis7sznbvmb6wgwzm6n'... 
Submodule 'app/styles/ui' ([email protected]:yllieth/ui.git) registered for path 'app/styles/ui' 
Cloning into 'app/styles/ui'... 


Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts. 
ERROR: Repository not found. 
fatal: The remote end hung up unexpectedly 
Clone of '[email protected]:yllieth/ui.git' into submodule path 'app/styles/ui' failed 

Dockerfile: None

码头工人没有发现任何Dockerfile即使我有一个在我dashboard回购定义。所以,我将无法给出任何指示或添加另一个SSH密钥。

如果任何人有关于如何使用autobuild与私人回购和git子模块的想法,我很感兴趣!

+0

遇到同样的问题。任何人都可以确认私人子模块应该在自动构建中工作吗? – 2014-11-17 06:51:21

回答

2

这是丑陋的,但你可以创建计算机用户作为github上呼吁他们,并添加部署键将其作为用户的密钥(从部署钥匙取出后)。然后将该用户添加为该构建所需的每个回购的只读用户。

我在等待从码头队队员那里听到更好的东西。

+1

确认也能正常工作 – 2015-02-17 03:08:34

2

如果您的GitHub存储库包含指向私有子模块的链接,则会在构建中收到错误消息。通常,Docker Hub会在您的GitHub存储库中设置一个部署密钥。不幸的是,GitHub只允许一个存储库部署密钥访问一个存储库。作为解决方法,您需要在GitHub中创建一个专用用户帐户,并将自动构建的部署密钥附加到该帐户。这个专用的构建帐户可以限制为只读访问只需构建所需的存储库。

一个家伙已经在docker document上启动了更新请求。他还包括可能会帮助你解决这个问题的截图。