Node.js - JavaScript チュートリアル

ここでは、Node.js サンプル アプリケーションの .circleci/config.yml ファイルを作成する方法を詳細に説明します。

クイックスタート: デモ用の JavaScript Node.js リファレンス プロジェクト

CircleCI 2.1 で Express.js アプリケーションをビルドする方法を示すために、JavaScript Node.js リファレンス プロジェクトが用意されています。

We maintain a reference JavaScript project to show how to build a React.js app on CircleCI with version: 2.1 configuration:

このプロジェクトには、CircleCI 設定ファイル .circleci/config.yml が含まれます。 このファイルは、Node プロジェクトで CircleCI 2.1 を使用するためのベスト プラクティスを示しています。

CircleCI のビルド済み Docker イメージ

セカンダリ「サービス」コンテナとして使用するデータベース イメージも提供されています。

CircleCI を初めて使用する際は、プロジェクトをご自身でビルドしてみることをお勧めします。 以下に、ユーザー自身のアカウントを使用してデモ プロジェクトをビルドする方法を示します。

  1. GitHub 上のプロジェクトをお使いのアカウントにフォークします。
  2. CircleCI で [Add Projects (プロジェクトの追加)] ページにアクセスし、フォークしたプロジェクトの横にある [Build Project (プロジェクトのビルド)] ボタンをクリックします。
  3. 変更を加えるには、.circleci/config.yml ファイルを編集してコミットします。 コミットを GitHub にプッシュすると、CircleCI がそのプロジェクトをビルドしてテストします。

JavaScript Node のデモ プロジェクトのビルド

以下に、デモ プロジェクトのコメント付き .circleci/config.yml ファイルを示します。

Below is the .circleci/config.yml file in the demo project.

version: 2.1 # CircleCI 2.1 を使用します
jobs: # 一連のステップ
  build: # ワークフローを使用しない実行では、エントリポイントとして `build` ジョブが必要です
    working_directory: ~/mern-starter # ステップが実行されるディレクトリ
    docker: # Docker でステップを実行します

      - image: circleci/node:10.16.3 # このイメージをすべての `steps` が実行されるプライマリ コンテナとして使用します
      - image: mongo:4.2.0 # このイメージをセカンダリ サービス コンテナとして使用します
    steps: # 実行可能コマンドの集合
      - checkout # ソース コードを作業ディレクトリにチェックアウトする特別なステップ
      - run:
          name: update-npm
          command: 'sudo npm install -g npm@latest'
      - restore_cache: # 依存関係キャッシュを復元する特別なステップ
          # 依存関係キャッシュについては https://circleci.com/ja/docs/2.0/caching/ をお読みください
          key: dependency-cache-{{ checksum "package-lock.json" }}
      - run:
          name: install-npm-wee
          command: npm install
      - save_cache: # 依存関係キャッシュを保存する特別なステップ
          key: dependency-cache-{{ checksum "package-lock.json" }}
          paths:
            - ./node_modules
      - run: # テストを実行します
          name: test
          command: npm test
      - run: # カバレッジ レポートを実行します
          name: code-coverage
          command: './node_modules/.bin/nyc report --reporter=text-lcov'
      - store_artifacts: # テスト結果をアーティファクトとして保存する特別なステップ
          # アーティファクト (https://circleci.com/ja/docs/2.0/artifacts/) に表示するテスト サマリーをアップロードします 
          path: test-results.xml
          prefix: tests
      - store_artifacts: # アーティファクト (https://circleci.com/ja/docs/2.0/artifacts/) に表示するため
          path: coverage
          prefix: coverage
      - store_test_results: # テスト サマリー (https://circleci.com/ja/docs/2.0/collect-test-data/) に表示するため
          path: test-results.xml
      # デプロイ例については https://circleci.com/ja/docs/2.0/deployment-integrations/ を参照してください

設定ファイルの例

Using the 2.1 Node orb sets an executor from CircleCI’s highly cached convenience images built for CI and allows you to set the version of NodeJS to use. Any available tag in the docker image list can be used.

ジョブの各ステップは Executor という仮想環境で実行されます。

Matrix jobs are a simple way to test your Node app on various node environments. For a more in depth example of how the Node orb utilizes matrix jobs, see our blog on matrix jobs. See documentation on pipeline parameters to learn how to set a node version via Pipeline parameters.

完了です。 これで Node.js アプリケーション用に CircleCI 2.1 をセットアップできました。 CircleCI でビルドを行うとどのように表示されるかについては、プロジェクトのジョブ ページを参照してください。

See also



Help make this document better

This guide, as well as the rest of our docs, are open-source and available on GitHub. We welcome your contributions.