質問: 以下は、 `.circleci/config.yml` の一部分で、`/go/pkg/dep` 以下をキャッシュしながら、今ビルドしているブランチと Gopkg.lock のチェックサム情報でもって、そのキャッシュの名前としています。 ``` - restore_cache: name: Restore Dependencies cache keys: - pkg-dep-v1-{{ .Branch }}-{{ checksum "Gopkg.lock" }} - pkg-dep-v1-{{ .Branch }} - pkg-dep-v1- paths: - /go/pkg/dep ``` ### 質問 * ここで用いられているテンプレートエンジンの文法は何ですか? もしくは、このエンジンについて名称があったりしますか? + さらには、このテンプレートエンジンで例えば四則演算など、置換以上の機能を持っていたりしますか?
回答: それはCircleCIの設定の中でも`restore_cache`及び`save_cache`の設定内の`key`でのみ使用可能なテンプレートであると思われます。公式ドキュメントのCaching Dependenciesのページに説明があります。文法は`{{ }}`で特定のキーワード(または構文)を囲むだけという単純なもので、利用可能なキーワードや構文はリンク先のページで全部列挙されています。このテンプレートエンジンに特に名前は無いようです。 機能については、いくつかの実行時情報を参照したり、環境変数を取得したりファイルのハッシュ値を計算したりすることに限られ、四則演算などの柔軟な機能は無いようです。 なお、`{{ }}`を使うこと自体は比較的多くのテンプレートエンジンで行われており、例えばJinja2などがあります。