2016-12-26 8 views

答えて

5

ことによって、あなたのビルドの一部としてSSHキーを使用する場合は、あなたが使用して秘密の店へのSSHキーを追加することができます次のコマンド:

drone secrets add --image=<image> <repo> SSH_KEY @/path/to/.ssh/id_rsa 

表記は、curlに似ています。この機能が存在する理由は、cat(または他の種類のパイプ)を使用して秘密を作成すると、不正な形式のファイルがアップロードされるように見えるためです。

ファイルが追加されたら、あなたはYAMLで参照することができます。それは新しいラインを維持するために猫の引用符の内側SSH_KEYに重要であることを

pipeline: 
    image: busybox 
    environment: 
    - SSH_KEY: ${SSH_KEY} 
    commands: 
    - mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa 

注意。

ホスト鍵の問題を防ぐために、ホストをknown_hostsに追加する必要がある場合もあります。 (/root/.sshディレクトリが存在することを確認するために、上に示した後のコマンド)次の中から引っ張っているものは何でもホストにbitbucket.orgを変更し、commandsに追加します。

ssh-keyscan -H bitbucket.org >> /root/.ssh/known_hosts 

(あなたはまた、必要がありますそれはあなたのビルドイメージですでに利用できない場合は、OpenSSHのクライアントまたは同等のものをインストールする。)

そして「convienient」私は明らかます。mkdirを入力せずに意味、>またはchmodの

によって

いや

ドローン0.7+で
+0

うん、それは基本的に正確に私がやっていたことだ。あなたはそれが他の方法ではできないと言っているので、確認を得ることは良いことです。 – fommil

+0

Droneには環境設定を行うinitスクリプト(ソート)があります。私は間違いなく 'SSH_KEY'を探し、' .ssh'ディレクトリと 'id_rsa'ファイルを将来自動的に作成することを検討します。 –

+0

オハイオ州、これはSSH_KEYについて引用しています。この答えをありがとう! –

1

ドローンに認証するためのGithubのOAuth2を使用して.netrcを構築し、それが自動的にGithubのユーザ名とパスワードを追加します。

パスワードは実際にはトークンinstead of a passwordです。 .netrcは、次のようなになります。これは、

machine github.com 
    login <SOME_SECRET> 
    password x-oauth-basic 

あなたは、ユーザー名/パスワードを指定しなくても、すなわちgit clone https://github.com/USER/REPO/gitをHTTPS経由でプライベートのGitHubリポジトリのクローンを作成することができます。

あなたはまた、のようなものを~/.netrcファイルを追加し、追加することにより、局部的に同じ効果を得ることができますが:

machine github.com 
    login <GITHUB_USERNAME> 
    password <GITHUB_PERSONAL_TOKEN> 

machine api.github.com 
    login <GITHUB_USERNAME> 
    password <GITHUB_PERSONAL_TOKEN> 

あなたはgenerate a personal tokenする必要があります。

例えば、Rubyのパッケージマネージャbundlerを使用している場合、あなたはGemfileに以下を追加することができますが:それはGitHubのトークンを使用してHTTPS経由で上記のレポのクローンを作成しますので、

gem 'documas', git: 'https://github.com/Propheris/documas-core.git' 

ビルドが正常にbundle installを行うことができます。唯一の問題は、ローカルでbundle installを実行すると、ユーザー名/パスワードを要求することです。これを克服するには、上の例のように~/.netrcファイルを開発マシンに追加します。

関連する問題