Travis CIリポジトリ設定で環境変数を宣言し、それを.travis.ymlファイルで使用して、アプリケーションをデプロイし、ビルド通知をSlackに投稿しようとしています。
Travis CIリポジトリ設定で環境変数を次のように設定しました。
私の.travis.ymlファイルは次のように表示されます。
language: node_js
node_js:
- '0.12'
cache:
directories:
- node_modules
deploy:
Edge: true
provider: cloudfoundry
api: $CF_API
username: $CF_USERNAME
password: $CF_PASSWORD
organization: $CF_ORGANIZATION
space: $CF_SPACE
notifications:
slack: $NOTIFICATIONS_SLACK
値をそのまま.travis.ymlファイルに追加すると、すべてが予定どおりに機能します。
しかし、リポジトリに設定されている環境変数を参照しようとすると、ビルドステータスに関するSlack通知が表示されず、デプロイメントが失敗します。
私はこのプロセスを正しく行っていますか、それとも監督していることはありますか?
Travis CIのシーケンスでは、環境変数を読み取るにはおそらく早すぎると思います。
私が提案するのは、むしろtravis
コマンドラインツール を使用して暗号化することです。
例えば。
$ travis encrypt
Reading from stdin, press Ctrl+D when done
username
Please add the following to your .travis.yml file:
secure: "TD955qR6qvpVIz3fLkGeeUhV76deeVRaLVYjW9YjV6Ob7wd+vPtACZ..."
Pro Tip: You can add it automatically by running with --add.
次に、secure: "TD955qR6qvpVIz3fLkGeeUhV76d..."
の結果を.travis.ymlファイルの適切な場所にコピーして貼り付けます。
language: node_js
node_js:
- '0.12'
cache:
directories:
- node_modules
deploy:
Edge: true
provider: cloudfoundry
api:
secure: "bHU4+ZDFeZcHpuE/WRpgMBcxr8l..."
username:
secure: "TD955qR6qvpVIz3fLkGeeUhV76d..."
Travis CI here で機密データを暗号化する方法の詳細を確認できます。
お役に立てれば。