概要
例えば omnibus-gitlab に含まれるドキュメントを修正したい場合には Markdown を修正してローカルで動作確認してから pull-request を送りたくなります
今回はローカルでドキュメントをビルドする方法を紹介します
環境
- macOS 10.15.6
- Ruby 2.7.1p83
- bundler 2.1.4
- Nodejs 14.5.0
- yarn 1.22.4
ビルドまでの流れ
Gitlab のドキュメントは複数のリポジトリに別れているためそれぞれ clone する必要があります
ドキュメント自体はそれぞれのプロダクトのリポジトリで Markdown で管理されておりスタイルは gitlab-docs というリポジトリで管理されています
つまり各プロダクトのドキュメントを clone してスタイルを管理しているリポジトリ上に紐付けてビルドすればローカルで確認できます
各種リポジトリの clone
作業用のディレクトリを作成して必要なリポジトリを clone します
mkdir build-gitlab-docs
cd build-gitlab-docs
git clone --depth 1 https://gitlab.com/gitlab-org/omnibus-gitlab.git
git clone --depth 1 https://gitlab.com/gitlab-org/gitlab-runner.git
git clone --depth 1 https://gitlab.com/gitlab-org/gitlab.git
git clone --depth 1 https://gitlab.com/gitlab-org/charts/gitlab.git charts
git clone --depth 1 https://gitlab.com/gitlab-org/gitlab-docs.git
スタイルのリポジトリに各リポジトリを紐付ける
次に gitlab-docs リポジトリに各リポジトリを紐付けます
紐付けると言ったもシンボリックリンクを作成するだけです
cd ..
ln -s $(pwd)/build-gitlab-docs/omnibus-gitlab/doc build-gitlab-docs/gitlab-docs/content/omnibus
ln -s $(pwd)/build-gitlab-docs/gitlab/doc build-gitlab-docs/gitlab-docs/content/ee
ln -s $(pwd)/build-gitlab-docs/gitlab-runner/docs build-gitlab-docs/gitlab-docs/content/runner
ln -s $(pwd)/build-gitlab-docs/charts/doc build-gitlab-docs/gitlab-docs/content/charts
cd build-gitlab-docs/gitlab-docs
ls -ltr content
ちゃんとフルパスでリンクされていれば OK です
yarn ビルド
まずは各種 static ファイルを生成します
yarn install --frozen-lockfile
bundle ビルド
次に生成した静的ファイルと Markdown を描画するための nanoc のインストールとビルドを行います
bundle update --bundler
bundle config path vendor
bundle install
bundle exec nanoc && bundle exec nanoc live
ローカルの bundler が 2.x 系になっていたので bundle update
してバージョンを合わせています
bundler が 1.17.3 であれば不要です
ビルドが成功すれば localhost:3000
で確認できます
動作確認
localhost:3000
にアクセスして以下のようなドキュメントが確認できれば OK です
最後に
コントリビュータ向けの記事ですが gitlab のドキュメントをビルドする方法を紹介しました
ドキュメントを修正したい場合にはご活用ください
0 件のコメント:
コメントを投稿