ドキュメントのデプロイ
デプロイ環境
GitLabドキュメントサイトはGitLab Pagesによってホストされる静的サイトです。デプロイはPagesのデプロイジョブによって行われます。
このサイトは現在サポートされているGitLabバージョンのドキュメントのみをホストしています。古いバージョンのドキュメントはビルドされ、GitLab DocsアーカイブからダウンロードできるDockerイメージとしてアップロードされます。
リリースプロセスの一部
ドキュメントのリリースプロセスには以下のようなものがあります:
-
main
および関連する安定版ブランチに変更を加えるマージリクエスト。 - パイプライン。
gitlab-docs
コンテナレジストリ に、関連する安定版ブランチの Docker イメージをビルドしてデプロイします。 - Dockerイメージは、安定版と最新のドキュメントを含む、すべてのオンライン・ドキュメントのビルドとデプロイに使用されます。
ドキュメントのデプロイは、以下のようにパイプラインとDockerイメージに依存しています:
- 最新のドキュメントパイプラインとイメージは、安定したドキュメントパイプラインとイメージに依存しています。
- Pages のデプロイパイプラインは、最新のドキュメントイメージに依存しています (そしてそれは、安定したパイプラインとイメージに依存しています)。
CI/CDパイプラインでDockerを使用する一般的な情報については、Dockerインテグレーションを参照してください。
安定ブランチ
ドキュメントプロジェクトの安定版ブランチ用のパイプラインは、含まれるプロジェクトの関連する安定版ブランチを引っ張ってきます。たとえば、安定版14.4
のドキュメントはgitlab-docs
プロジェクトの14.4
ブランチからビルドされます:
-
gitlab
プロジェクトの14-4-stable-ee
ブランチ。 -
gitlab-runner
プロジェクトの14-4-stable
ブランチ。 -
omnibus-gitlab
プロジェクトの14-4-stable
ブランチ。 - プロジェクトの
5-4-stable
ブランチcharts/gitlab
。charts/gitlab
バージョンは GitLab のバージョンにマッピングされます。
テクニカルライティングチームはgitlab-docs
プロジェクトの安定ブランチを作成し、他のチームが作成した安定ブランチを利用します。
安定版ドキュメント
gitlab-docs
の安定版ブランチを対象としたマージリクエストがマージされると、パイプラインがその安定版ドキュメントをビルドし、レジストリにデプロイします。たとえば
- 14.4 マージリクエストパイプライン。
- 14.3 マージリクエストパイプライン。
- 14.2 マージリクエストパイプライン。
- 13.12 マージリクエストパイプライン。
- 12.10 マージリクエストパイプライン。
特に、各パイプラインのimage:docs-single
ジョブ は自動的に実行されます。ビルドされたものを受け取り、コンテナレジストリにプッシュします。
安定したドキュメントイメージの再構築
安定版ドキュメントイメージを再構築するには、再構築するイメージの安定版ブランチ用に新しいパイプラインを作成してください。このようにします:
- アップストリームの安定ブランチからの新しいドキュメントの変更を安定バージョンのDockerイメージに含める場合。例えば、
gitlab
プロジェクトの14-4-stable-ee
ブランチでマージされた変更を含めるために、14.4
Docker イメージを再構築します。 -
gitlab-docs
プロジェクトに加えられた変更を安定版ブランチに取り込みます。例えば- CSS スタイルの変更。
- 新しいリリースのためのバージョンメニューの変更。
最新のドキュメント
Dockerイメージ(latest
タグ付き)を構築します:
- ドキュメントの最新オンラインバージョン。
- アップストリームプロジェクトの安定版ブランチのドキュメント。
- 関連するアップストリームプロジェクトのデフォルトブランチから最新のドキュメントを取得します。
-
image:docs-single
ジョブによって以前にビルドされた Docker イメージをプルします。 - スケジュールされたパイプラインで手動で実行する必要があります。
例えば、image:docs-latest
ジョブを含む[パイプライン](https://gitlab.com/gitlab-org/gitlab-docs/-/pipelines/399233948) :
デプロイジョブ
GitLab Docsは Pagesサイトであり、ドキュメントのアップデートはデプロイされなければ利用できません。
pages
ジョブは、パイプラインがデフォルトブランチ (main
) で実行されると自動的に実行されます。結合に必要なコマンドを実行します:
-
gitlab-docs
サイトコードの最新ビルド。 - アップストリームプロジェクトのデフォルトブランチの最新ドキュメント。
-
image:docs-latest
のドキュメント。
例えば、pages
ジョブを含む[パイプライン](https://gitlab.com/gitlab-org/gitlab-docs/-/pipelines/399233948)。
本番環境への手動デプロイ
GitLab Docs はBuild docs.gitlab.com every hour
スケジュールパイプラインが実行されるたびに本番環境にデプロイされます。デフォルトでは、このパイプラインは1時間ごとに実行されます。
メンテナーは手動でこのパイプラインを実行し、本番環境へのデプロイを強制することができます:
-
gitlab-docs
のスケジュールパイプラインにアクセスしてください。 -
Build docs.gitlab.com every hour
の横で、再生({play})を選択します。
更新されたドキュメントは、新しいパイプラインでpages
とpages:deploy
のジョブが完了した後、本番環境で使用できるようになります。
このタスクを実行するためのメンテナーのロールを持っていない場合は、#docs
Slack チャンネルで助けを求めてください。
Dockerファイル
dockerfiles
ディレクトリ には、https://docs.gitlab.comのビルド、テスト、デプロイに必要な Dockerfile が含まれています。