Heroku にはいくつかのアプリがあります。それらはすべて GruntJS を使用してアセットを構築し、S3 にデプロイします。1 つのアプリは、かなり長い間正常に動作しています。
他のアプリには、Gruntfile から構成変数を読み取れないという問題があります。Heroku のツールベルトを使用してセットアップを表示すると、次のように表示されます。
$ heroku config --app mydevapp --account personal
=== mydevapp Config Vars
AWS_ACCESS_KEY: #########
AWS_BUCKET: #########
AWS_SECRET_KEY: #########
BUILDPACK_URL: https://github.com/ddollar/heroku-buildpack-multi.git
DATABASE_URL: #########
PAPERTRAIL_API_TOKEN: #########
TEST: test
これは素晴らしいことです。ただし、Grunt からこれらの変数を利用することはできません。Gruntfile から console.log(process.env) を実行すると、次のように表示されます。
{ GEM_HOME: '/tmp/build_e26d1d60-d447-40d8-b09b-02d3758a6027/.gem/ruby/1.9.1',
SHELL: '/bin/bash',
SSH_CLIENT: '10.207.46.127 55868 50678',
GROUP: 'production',
DEPLOY: 'production',
STACK: 'cedar',
SHLVL: '3',
HOME: '/app',
CPPPATH: '/tmp/node-node-hP8q/include',
_: '/tmp/build_e26d1d60-d447-40d8-b09b-02d3758a6027/node_modules/grunt-cli/bin/grunt'
}
そこには他にもいくつかの変数がありますが、何を安全に表示できるかわかりません。リストされている構成変数がまったく表示されません。
作業中のアプリと、process.env 変数に構成変数を持たない 2 つのアプリの違いがわかりません。
この方法で Grunt を使用することは、実際には最良のアイデアではないと読んだことがありますが、それが私たちがセットアップしたものです。もちろん、必要に応じて変更することもできます。
何か案は?明確にする必要があることはありますか?