これはよくある質問のようです。誰かが答えを思いついたかどうか、または誰かが何か他のことを提案できるかどうかを確認するために、もう一度質問したいと思います。
多くのコンピューターと実行サービスがあり、それらを更新するのは一般的に頭の痛い問題です。入ってくるのはDockerです。このプロセスを自動化したいと考えています。これには Docker が適していますが、チームの誰もがビルドを自動化できるようにしたいと考えています。
プロセスの一部には、いくつかの git リポジトリのクローン作成が含まれます。
私ができることの 1 つは、シェル スクリプトを使用してリポジトリをローカルに複製し、それらをイメージにコピーすることですが、自動化を想定している dockerfile があるため、そこに指示を入れるのが自然なようです。
これは、git 資格情報を提供すること以外は問題ではありません。
現在、ビルド プロセス中に id_rsa をコピーしています。ただし、それをコピーし、リポジトリからプルしてから、資格情報を削除します。Dockerfile がユーザー入力を受け入れないことを除いて、これは正常に機能するはずです。
dockerfile に ssh キーを追加しようとすると、キーのパスワードが必要になります... ユーザー入力を受け付けないため、docker は失敗します。
これを回避し、プロセスを自動化するにはどうすればよいですか?
これは dockerfile のサンプルです。
FROM ubuntu:14.04
MAINTAINER Senica Gonzalez <senica@gmail.com>
RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get -y install git-core
RUN apt-get -y install vagrant
RUN mkdir /home/.ssh
COPY id_rsa /home/.ssh/id_rsa
RUN eval "$(ssh-agent -s)"; ssh-add /home/.ssh/id_rsa; ssh-add -l