私のプロジェクトの 1つにtravis-ciを使用したいと思います。
プロジェクトはAPIラッパーであるため、テストの多くは秘密のAPIキーの使用に依存しています。ローカルでテストするには、環境変数として保存するだけです。Travisでこれらのキーを安全に使用する方法は何ですか?
回答:
Travisには、環境変数を暗号化する機能があります(「環境変数の暗号化」)。これは、秘密のAPIキーを保護するために使用できます。これをHeroku APIキーに正常に使用しました。
必要なのは、travis gemをインストールし、必要な文字列を暗号化して、暗号化された文字列をに追加することだけです.travis.yml
。暗号化は1つのリポジトリに対してのみ有効です。travis
コマンドは、あなたのレポのための公開鍵を取得し、ビルド時に文字列を復号化することができます。
gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
これにより、次の出力が得られます。
Please add the following to your .travis.yml file:
secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="
travis encrypt [args..] [options]
ようですtravis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
。つまり、実行する必要があります。オプションを最初に置き、暗号化するデータを最後に置くと、警告が表示されます。
--add env.global
を使用travis
すると、.travis.ymlが自動的に修正されます。
別のAPIキーのセットを使用して、同じ方法で実行します。トラビスボックスはビルド実行のセットアップを取得し、ビルドが完了した後、完全に再び取り壊されます。ビルド中にボックスへのrootアクセス権があるため、ボックスを使用して好きなことができます。