ドキュメントは秘密ENVVAR http://readme.drone.io/0.5/secrets/無人機の機密ファイルを作成するには?
反対を行うための便利な方法があるにファイルを設定する方法を示していますか?例えば.ssh/id_rsaでこのssh鍵をすべての正しい権限で使用できるようにしてください。
そして「convienient」私は明らかにmkdir
を入力せずに意味、>
またはchmod
ドキュメントは秘密ENVVAR http://readme.drone.io/0.5/secrets/無人機の機密ファイルを作成するには?
反対を行うための便利な方法があるにファイルを設定する方法を示していますか?例えば.ssh/id_rsaでこのssh鍵をすべての正しい権限で使用できるようにしてください。
そして「convienient」私は明らかにmkdir
を入力せずに意味、>
またはchmod
ことによって、あなたのビルドの一部として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+でドローンに認証するための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
ファイルを開発マシンに追加します。
うん、それは基本的に正確に私がやっていたことだ。あなたはそれが他の方法ではできないと言っているので、確認を得ることは良いことです。 – fommil
Droneには環境設定を行うinitスクリプト(ソート)があります。私は間違いなく 'SSH_KEY'を探し、' .ssh'ディレクトリと 'id_rsa'ファイルを将来自動的に作成することを検討します。 –
オハイオ州、これはSSH_KEYについて引用しています。この答えをありがとう! –