プロジェクトの1つにtravis-ciを使用したいと思います。
プロジェクトはAPIラッパーであるため、テストの多くは秘密のAPIキーの使用に依存しています。ローカルでテストするために、私はそれらを環境変数として保存するだけです。Travisでこれらのキーを安全に使用する方法は何ですか?
Travisには、環境変数を暗号化する機能があります(「環境変数の暗号化」)。これは、秘密のAPIキーを保護するために使用できます。これをHerokuAPIキーに正常に使用しました。
あなたがしなければならないのは、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="
リポジトリ設定でシークレット変数を定義することもできます。
リポジトリ設定で定義された変数はすべてのビルドで同じであり、古いビルドを再起動すると、最新の値が使用されます。これらの変数は、フォークで自動的に使用できるわけではありません。
リポジトリ設定で次の変数を定義します。
- リポジトリごとに異なります。
- サードパーティのクレデンシャルなどの機密データが含まれています。
リポジトリ設定で変数を定義するには、ログインしていることを確認し、問題のリポジトリに移動して、歯車メニューから[設定]を選択し、[環境変数]セクションの[新しい変数の追加]をクリックします。
別のAPIキーのセットを使用し、同じ方法で実行します。トラビスボックスはビルド実行用にセットアップされ、ビルドが終了した後に再び完全に破棄されます。ビルド中にボックスにrootアクセスできるので、ボックスを使って好きなことを行うことができます。