2017-03-01 9 views
1

Travis docsは、鍵を暗号化するための最も簡単な方法であると言います。 S3にアップロードするには、コマンドラインツールを使用します。トラvisの鍵を暗号化する方法

コマンドラインツールを使用するだけで、Rubyなどのインストールを含まない他の方法がありますか?

答えて

3

Javascriptメソッドが存在し、hereと対応するgithub repo hereがあります。

暗号化されたS3キーを使用するには、その原則がTravisのドキュメントでよく説明されていないため、やや混乱します。

上記のフォームの左上のフィールドに、Travis-CIのユーザーID /リポジトリ名を入力します。これにより、Travisによって作成されたリポジトリの公開キーがプルダウンされます。右上のフィールドに

、あなたは次のように入力します

AWS_ACCESS_KEY_ID:...the..access..string..from..Amazon.IAM... 

クリックして暗号化上と暗号化データの右上のフィールドに続いて

の下に生成された文字列をコピーし、次のように入力します。

AWS_SECRET_ACCESS_KEY:...the.very.secret.string.from.Amazon.IAM... 

さらに暗号化された文字列をコピーします。暗号化された文字列にランダムなデータが含まれているため、暗号化された文字列は毎回変更されます。

これらの暗号化された鍵ペアは、Travisによって復号化され、環境変数としてエクスポートされます。デプロイセクションで今

global: 
     # travis encrypt AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID 
     - secure: "--first-very--long-encrypted-string--=" 
     # travis encrypt AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY 
     - secure: "--second--very-long-encrypted-string--=" 
     - AWS_S3_BUCKET_NAME: yourbucketname 

、あなたが使用していた場合、あなたは暗号化ペア

deploy: 
    provider: s3 
    # these are set up in the global env 
    access_key_id: $AWS_ACCESS_KEY_ID 
    secret_access_key: $AWS_SECRET_ACCESS_KEY 
    bucket: $AWS_S3_BUCKET_NAME 
    skip_cleanup: true 
    upload-dir: travis-builds 

のために使用される名前を使用してそれらを参照:あなたはこのような.travis.ymlファイルに入力しますグローバルenvの中のACCESS_IDという名前を暗号化すると、ACCESS_IDとして参照されます。

名前付きバケットにupload-dirが作成されます。

ビルドをTravisで実行すると、復号化されたキーは公開されません。代わりにあなたが見るものは:

See https://docs.travis-ci.com/user/workers/container-based-infrastructure/ for details. 
Setting environment variables from .travis.yml 
$ export AWS_ACCESS_KEY_ID=[secure] 
$ export AWS_SECRET_ACCESS_KEY=[secure] 
$ export AWS_S3_BUCKET_NAME=yourbucketname 
関連する問題