CircleCIのキャッシュを利用していてキーに環境変数を指定しようとしたら使えなかった. CircleCIのキャッシュについては、こちらのドキュメントを参照してください.
キーに環境変数を指定できない
CircleCIではキャッシュ機能が存在しており、特定のディレクトリをキャッシュしておくことができます.
ドキュメントには、キャッシュのキーにはブランチ名やリビジョン、ファイルのチェックサムなどを利用することができ、さらに環境変数を利用できると書いているのだが全く環境変数が取得できている気配はない.
{{ .Environment.variableName }}
という名前のものなのだが、RAILS_ENVを取得しようとして、{{ .Environment.RAILS_ENV }}
を書いたところで<no value>
が取得される.
この問題についてのディスカッション
これに関してのディスカッションは、CircleCIのディスカッションに書いてある.
色々書いてあるのだが、結論としてはCircleCIの従業員曰く、
At this time, that is expected functionality. We do not yet fully support environment variables throughout the configuration file. This thread is a feature request not a bug report
と書いており、
要は「ドキュメントに書いてあることは、理想であって実装しているわけではない。そして、これはバグリポートではなく機能追加」ということらしいです.
どう考えてもドキュメントバグなので修正しておきたい.
ただし、該当コメントの後に
The docs should definitely be updated- the phrasing is unclear. It supports any env var we supply, not any arbitrary env var.
と書いてあるので、一部の環境変数は使用可能なのかもしれない.
時間がある時に検証してみようかな.
ちなみにキャッシュについてのドキュメントは更新されていないが、configuration-referenceの方は更新されている。