Githubアクションにおける反応のための灯台CIの設定


アットYork Press , 我々はページが重さを増していることに気づいた.場合によっては、ページは顧客のために示す前に1 MBのリソースを積んでいた.これはモーダルブロードバンドの速度が1 MB/s程度であることを考慮することはできなかった.これは、ページが雲で作られた蟻の足よりも軽いことを確認します.そして、より速いロード時間は、顧客がより速く勉強することができることを意味するでしょう.

灯台救助に!


Lighthouse Googleによって開発されたツールです.それはページを分析して、SEO、パフォーマンス、アクセシビリティ、PWAとベストプラクティスで100のスコアを与えます.これらは任意の数ですが、彼らはあなたのウェブサイトがやっている方法に大まかなガイドを与える.これらのスコアは、Google検索ランキングであなたのページをランク付けするために使用されます.したがって、彼らはビジネスの理由ではなく、技術的な力を維持するために不可欠です.
課題は、このツールのセットアップを取得する方法は、時代遅れの記事やガイドがたくさんあります.さらに、これらのどれも定期的なユースケースをカバーするように見える-あなたの反応アプリの灯台を設定します.
ここでどのようにあなたの反応アプリのLightAnchiiのセットアップに決定的なガイドです-それはGitHubアクションで追跡している.

セットアップ灯台


まず、テスト用のLightTheSeciとHTTPサーバーをローカルにインストールします.
$ npm i -g @lhci/cli http-server
前者はLightMequiツールです.後者は、それが構築された後、反応アプリを実行する小さなモジュールです.
次のファイルを作成できますlighthouserc.json . これには次の内容があります
{
  "ci": {
    "collect": {
      "url": [
        "http://127.0.0.1:4000"
      ],
      "startServerCommand": "http-server ./build/client -p 4000 -g",
      "startServerReadyPattern": "Available on",
      "numberOfRuns": 1
    },
    "upload": {
      "target": "temporary-public-storage"
    },
    "assert": {
      "preset": "lighthouse:recommended",
    }
  }
}
“収集”の下のセクションは、反応アプリを実行するサーバーが定義されているところです.興味深いプロパティはstartServerCommand and startServerReadyPattern . 最初にどのようにアプリケーションを起動する灯台を指示します.そして、2番目は、どのようなテキストは、サーバーが実行され、テストを開始することを確認するために探すために灯台に指示します.この場合、それはhttp-server それから、それはテキストを聞きますAvailable On . 上記のコマンドを自分で実行し、端末に表示するテキストを参照してください.あなたは変更する必要があります/build/client アプリケーションがビルドされるディレクトリに
今すぐあなたの灯火を与えることができます旋回!あなたのアプリケーションをビルドするnpm run build ), 次に実行します.
$ npm run build
$ lhci autorun
次のように出力してください.
✅ .lighthouseci/ directory writable
✅ Configuration file found
✅ Chrome installation found
Healthcheck passed!

Started a web server with "http-server ./build/client -p 4000 -g"...
Running Lighthouse 1 time(s) on http://127.0.0.1:4000
Run #1...done.
Done running Lighthouse!

Checking assertions against 1 URL(s), 1 total run(s)

33 result(s) for http://127.0.0.1:4000/ :

Githubアクションの設定


さて、自動化しましょう.これらの種類のチェックを実施する最良の方法は、プルリクエストワークフローの一部にすることです.これは、これらの規格を満たさない要求に対する合併を防ぐことを意味します.
Githubアクションで行う必要があるのは、セットアッププロセスで行われたコマンドを模倣することです.次のように新しいファイルにペーストします/.github/workflows/lighthouse.yml
# ./.github/workflows/lighthouse.yml
name: LighthouseCI

 on:
   pull_request:

 jobs:
   lighthouse:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v2

       - name: Setup node
         uses: actions/setup-node@v1
         with:
           node-version: "14.x"

       - name: Install
         run: npm ci && npm i -g http-server @lhci/cli

       - name: Build
         run: npm run build

       - name: LighthouseCI
         run: lhci autorun
次に、変更をプッシュし、新しいプル要求を作成します.あなたのアクションをプル要求の下部に実行を参照してください.

そしてそれだ!私はあなたがGithubアクションでニースを再生するあなたの反応アプリを得るのに苦労している場合は、多くの時間を節約してほしい.