2014-10-02 42 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上啓動了更新請求。他還包括可能會幫助你解決這個問題的截圖。