Angular CLI インストール時に統計情報の質問を出さないようにする (GitHub Actions でも対応)

Angular CLI を新規にインストールしたりビルドしたりする時に、次のような質問が出てくることがある。

$ npm install

? Would you like to share anonymous usage data with the Angular Team at Google under
Google's Privacy Policy at https://policies.google.com/privacy? For more details and
how to change this setting, see http://angular.io/analytics. (y/N)

匿名で利用状況を収集しても良いか?という質問で、yn で答えるワケだが、GitHub Actions のような CI ツールの中でこうしたプロンプトが表示されて処理が中断されては困る。

ということで回避方法を探してみると、

export NG_CLI_ANALYTICS=ci

このような環境変数を設定すれば良いことが分かった。

GitHub Actions であれば、npm installnpm run build のタイミングでこの環境変数を仕込んでおけば安心だろう。

name: Deploy To GitHub Pages
on:
  push:
    branches:
      - master
jobs:
  deploy:
    runs-on: ubuntu-18.04
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Use Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 12.x
      - name: Install
        env :
          # ↓ Angular CLI が統計情報に関する質問を出さないようにする
          NG_CLI_ANALYTICS: ci
        run : npm install
      - name: Build To dist/ Directory
        env :
          # ↓ 念のためビルド時にも指定する
          NG_CLI_ANALYTICS: ci
        run : npm run build
      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        with:
          # GITHUB_TOKEN Secret は自動的に用意されるので、自前で Secret を用意する必要はない
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./dist

Angular 製のアプリを GitHub Pages にデプロイする際の Workflow は上のような感じ。環境変数に関する指定部分さえ取り除けば、Angular 以外の SPA でも同様にビルド・デプロイできる汎用的な Workflow であろう。