来自Docker Hub的Github私有存储库的自动构建不起作用

时间:2016-02-24 09:37:50

标签: github dockerhub

我正尝试从Github 私有存储库在Docker Hub上创建自动构建。

  • 我将 Github 帐户与我的 Docker Hub 帐户相关联。
  • 我确认 Docker Hub 提供的部署密钥是在我的 Github 存储库中创建的

但我仍然有错误。我不确定它是否与 SSH密钥 gitmodules 相关。

以下是我获取的日志(在 Docker Hub repo中的 Build Details 标签中):

Starting to clone
Cloning into 'bsntx4mjvrqncsdvzcn7tqp'...
Warning: Permanently added the RSA host key for IP address 'XXX.XX.XX.XX' to the list of known hosts.
No submodule mapping found in .gitmodules for path 'vendor/bundle/ruby/2.1.0/bundler/gems/logan-3722sdf9a9db5'
please ensure the correct public key is added to the list of trusted keys for this repository and the remote branch exists. (1)

有没有人有同样的错误?

我的解决方案我通过删除github repo中的文件vendor / bundle / ruby​​ / 2.1.0 / bundler / gems / logan-3722sdf9a9db5解决了我的问题。所以关于公钥的错误与它无关。

5 个答案:

答案 0 :(得分:1)

问题不在于钥匙。

我不知道确切的问题。您可以使用以下命令来解决问题。

git submodule update --init

命令的输出将传递到

git rm --cached {{output}}

推送提交。

答案 1 :(得分:0)

我无法发表评论,所以我将此作为"回答"相反(对不起!)

我和Bitbucket有同样的问题,它无法从我的主要仓库中包含的子模块中获取。我还没有能够解决这个问题。我甚至支付了付费订阅并在hub.docker中添加了一个自动构建,希望能解决这个问题,但是没有...

Starting to clone Cloning into 'bokyrk3hkhspby5smhf6kby'... Warning: Permanently added the RSA host key for IP address 'xxx.xxx.xxx' to the list of known hosts. Submodule 'lib/shared' (https://xxx@bitbucket.org/xxx/xxx_sharedlibs.git) registered for path 'lib/shared' Cloning into 'lib/shared'... fatal: could not read Password for 'https://xxx@bitbucket.org': No such device or address Clone of 'https://xxx@bitbucket.org/xxx/xxx_sharedlibs.git' into submodule path 'lib/shared' failed please ensure the correct public key is added to the list of trusted keys for this repository and the remote branch exists. (1)

答案 2 :(得分:0)

以下程序让我开始工作:

通过git bash将我的私钥添加到本地ssh。 将我的公共SSH密钥添加到github。 这个ssh密钥已在我的dockerhub中提供。 因此,我将另一个公共dockerhub userid(其中自动构建成功)链接为此私有自动构建的协作者。

答案 3 :(得分:0)

对于私有存储库的工作,您应该将Docker Hub中的ssh密钥(在添加自动构建时显示)添加到您的github ssh密钥。

答案 4 :(得分:0)

当自动构建失败时,构建细节顶部的橙色警报可能会引起误解:

  

构建失败:请确保将正确的公钥添加到   存在此存储库和远程分支的受信任密钥的列表。   (128)

即使已设置ssh键,该消息也会始终显示。如果您知道已经为私有存储库设置了ssh密钥,则需要查看构建详细信息底部的日志以了解更多信息。

例如,您的日志可能会说:

  

致命:在.gitmodules中找不到路径的子模块映射   'my-app / my-blog'

或者也许是

  

在./my-app/Dockerfile中找不到Dockerfile

在您的情况下,您遇到了与需要删除的文件vendor/bundle/ruby/2.1.0/bundler/gems/logan-3722sdf9a9db5相关的问题。