開発環境のセットアップとビルド、サーブなどのコマンド

この Web サイトの開発環境をセットアップする方法を学びます。

以下の手順では、この Web サイトの開発環境をセットアップする方法を説明します。

クラウド IDE のセットアップ

これらの手順は Gitpod.io 用ですが、お好みのクラウド IDE に合わせて調整してください。

  1. このリポジトリをフォークします。詳細は リポジトリのフォーク方法 を参照してください。

  2. gitpod.io/workspaces から新しいワークスペースを作成する(初回のみ)か、フォークしたリポジトリ上の既存のワークスペースを開きます。 また、次の形式のリンクを開くこともできます。 https://gitpod.io#https://github.com/YOUR_GITHUB_ID/opentelemetry.io

    注記: このリポジトリで作業するための権限がある場合や、単に内容を確認したい場合は、 https://gitpod.io/#https://github.com/open-telemetry/opentelemetry.io を開いてください。

Gitpod はリポジトリ固有のパッケージを自動的にインストールします。

これで、ビルドサーブ、または Web サイトファイルの更新を行う準備が整いました。

ローカルセットアップ

  1. https://github.com/open-telemetry/opentelemetry.io でWeb サイトのリポジトリフォークした後に、クローンします。

  2. リポジトリのディレクトリに移動します。

  3. Node.js の Active LTS リリース をインストールまたはアップグレードします。Node.js インストレーションの管理には nvm の使用を推奨します。Linux では以下のコマンドを実行してください。.nvmrc ファイルで指定されたバージョンにインストールとアップグレードします。

    nvm install
    

    Windows で インストールする場合 は、nvm-windows を使用してください。

    > nvm install lts && nvm use lts
    
  4. npm パッケージとその他の依存関係をインストールします。

    npm install
    

これで、ビルドサーブ、または Web サイトファイルの更新を行う準備が整いました。

ビルド

サイトをビルドするには、次のコマンドを実行します。

npm run build

生成されたサイトのファイルは public ディレクトリ内にあります。

サーブ

サイトをサーブするには、次のコマンドを実行します。

npm run serve

サイトは localhost:1313 でサーブされます。

Netlify のリダイレクトをテストする必要がある場合は、次のコマンドを実行し、localhost:8888 にアクセスしてください。

npm run serve:netlify

この serve コマンドは、ディスクではなくメモリ上のファイルを提供します。

macOS で too many open filespipe failed というエラーが発生する場合は、ファイルディスクリプタの制限を増やす必要があるかもしれません。 詳しくは Hugo のイシューの #6109 を参照してください。

コンテンツとサブモジュール

Web サイトは以下のコンテンツを基に構築されます。

  • content/static/ などの Hugo のデフォルトディレクトリ
  • hugo.yamlmounts で定義されたマウントポイント
    • これらは content-modules の Git サブモジュールから直接取得される場合や、 content-modules 内で前処理されたコンテンツが tmp/ に配置される場合があります。

サブモジュールの変更

content-modules のサブモジュール内のコンテンツを変更する場合は、まずそのサブモジュールのリポジトリに対して PR(サブモジュールの変更を含む)を送信する必要があります。 サブモジュールの PR が承認された後にのみ、サブモジュールを更新し、この Web サイトに変更を反映できます。

これは、サブモジュールそのものを更新するよりも、対応するサブモジュールの元のリポジトリで作業することが、content-modules の変更を管理する最も簡単な方法です。

経験豊富なコントリビューターは、サブモジュール内で直接作業することも可能です。 その場合、(サブモジュールの)変更を直接ビルドおよびサーブできます。 デフォルトでは CI スクリプトが呼び出しのたびに、サブモジュールを取得します。 作業中にこの動作を防ぐには、環境変数 GET=no を設定してください。 サブモジュールの PR を提出する前に、サブモジュールに対して git fetch --unshallow を実行する必要もあります。 または、DEPTH=100 を設定してサブモジュールを再取得してください。