9

自動 dockerhub ビルド中に複数のプライベート git リポジトリに接続する方法はありますか? 私たちはgolangアプリを構築しており、ビルドの一部として他のプライベートリポジトリを「取得する」必要があります。現時点では、ドッカーがそれらに接続できず、ターゲットのプライベートリポジトリのみに接続できないため、失敗します。

デプロイ キーは Dockerhub 経由でインストールされるため、メイン リポジトリは問題ありませんが、その後のプライベート リポジトリのインポートは失敗します。

私が見ることができるこれを回避する1つの方法は、イメージをローカルでビルドし、それをdockerhubに「docker push」してから、dockerhubと自動ビルドシステムの目的を無効にするデプロイ側でプルダウンすることです。もう 1 つは、基本イメージに ssh キーを焼き込むことですが、これはあまりお勧めできません。

sshキーをイメージに焼き付けたり、ローカルに構築したりすることを伴わない、これに対する解決策を誰かが持っていますか?

どうもありがとう。

4

1 に答える 1

0

単一の ssh キー

が 1 つしかない場合は、それをDocker コンテナー ( ) の ssh-path にssh-key追加するだけで、リポジトリを正常にプルできます。プライベート リポジトリがどこにあるかによって異なります。おそらく、他の構成を.root/root/.ssh/id_rsa.ssh

複数の ssh キー

違いがある場合はssh-keys、すべてのリポジトリに対して個人用トークンを作成することをお勧めします。そのため、問題を簡単に解決できます。git以下を取得する前に -urlを更新する必要があります。

[ここから取得: https://gist.github.com/shurcooL/6927554 ]

git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/".insteadOf "https://github.com/"

この変更により、docker-container を正常にビルドできるはずです。


ツールを使用すると、vendorこれを解決するのに役立ちます。ベンダー機能からgo1.5自由に使用できます。Glideを使用しており、参照のみを保存します (プロジェクト全体ではありません)。

于 2016-10-19T06:51:04.907 に答える