APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Bicep v0.4でLinterが追加されました!

f:id:turtle2005:20210609141446p:plain

2021年6月2日、Bicep v0.4がリリースされました。

追加された主な機能は以下の通りです

  • New Bicep linter
  • Resource snippets
  • Resource and module scaffolding
  • getSecret() -- Retrievedynamic secrets for module params
  • Bicep visualizer

このうち今回はLinterをご紹介します。

Bicepは高頻度に機能が更新されているため、機能の詳細は省略します(詳細はこちら)が、未使用の変数やパラメータなどについてワーニング(または警告)をしてくれる機能です。

コマンドと同時に公開されているVSCode Extensionをインストールすると以下のようにVSCode上で直接その内容を通知してくれます。

f:id:turtle2005:20210612151655p:plain
bicep lint warning

機能紹介はこれで終了・・・。 だとさすがに寂しいし、Lintの実行をPull requestの際に実行したい、そう感じますよね。 そこでさらに一歩進んでGitHub Actionsでの実行についてご紹介したいと思います。

Bicep v0.4ではlinter専用のコマンドは用意されていません。ということで bicep build コマンドを実行することで Lint checkを実行するようにします。 ということで設定ファイルを紹介。

Run bicep lint on github actions

デフォルト動作ではLint checkのSeverityはWarningとなっています。このためLint でワーニングを検知してもGitHub Actionsは正常終了となってしまいます。そこでSeverityをErrorに変更します。これを行うのが bicepconfig.json です。このファイルをリポジトリのトップディレクトリに置きます。(詳細は公式ドキュメントで)

そしてPull request作成時、およびmain branchマージ時にGitHub Actionsを実行する設定ファイルが on-pullrequest.yaml です。これを .github/workfows ディレクトリに置きます。

これでOK。

最低限の確認のレベルではありますが、Pull Request作成時にLint Checkを実行することで一定の設定ファイル品質は担保できるようになりました

どんどん進化するBicep、v0.4にはvisualizerなどほかにも有用なものが追加されています。また8月にはv0.5、10月にはv1.0のリリースが計画されているとのこと。引き続きBicepをいい感じで使えるようにしていきたいと思います。