93

プロジェクトの1つにtravis-ciを使用したいと思います。

プロジェクトはAPIラッパーであるため、テストの多くは秘密のAPIキーの使用に依存しています。ローカルでテストするために、私はそれらを環境変数として保存するだけです。Travisでこれらのキーを安全に使用する方法は何ですか?

4

4 に答える 4

99

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="
于 2012-10-08T08:55:25.220 に答える
7

これによると、travis ciのドキュメントでは、次のように述べられています。

HerokuとTravisCIの両方のコマンドラインクライアントがインストールされている場合は、プロジェクトディレクトリから次のコマンドを実行することで、キーを取得して暗号化し、.travis.ymlに追加できます。

travis encrypt $(heroku auth:token) --add deploy.api_key

OSに応じてherokuクライアントをインストールするには、次のチュートリアルを参照してください

于 2017-09-25T11:30:38.247 に答える
5

リポジトリ設定でシークレット変数を定義することもできます。

リポジトリ設定で定義された変数はすべてのビルドで同じであり、古いビルドを再起動すると、最新の値が使用されます。これらの変数は、フォークで自動的に使用できるわけではありません。

リポジトリ設定で次の変数を定義します。

  • リポジトリごとに異なります。
  • サードパーティのクレデンシャルなどの機密データが含まれています。

リポジトリ設定で変数を定義するには、ログインしていることを確認し、問題のリポジトリに移動して、歯車メニューから[設定]を選択し、[環境変数]セクションの[新しい変数の追加]をクリックします。

于 2017-04-06T19:09:10.187 に答える
0

別のAPIキーのセットを使用し、同じ方法で実行します。トラビスボックスはビルド実行用にセットアップされ、ビルドが終了した後に再び完全に破棄されます。ビルド中にボックスにrootアクセスできるので、ボックスを使って好きなことを行うことができます。

于 2012-02-18T11:13:31.140 に答える