Sphinx + @gitlab でGitLab Pagesに公開するのCIも簡単に導入できるし最強すぎる!!
— としゆき@インフラエンジニア (@Tocyuki) 2019年1月23日
最近、仕事で運用しているサービスのドキュメントをもうWordで作りたくないという思いがすごくてSphinxがよさそうなのでいろいろいじってたらGitLab CI + GitLab Pages + Sphinxが最強のドキュメントビルド環境すぎたのでやり方を説明します。
- 前提条件
- やること
- リポジトリの作成とクローン
- Sphinxでプロジェクトの作成
- .gitlab.ymlを作成し、GitLabへPush後、CI結果を確認
- GitLab Pagesへアクセス
- おわりに
- 参考情報
前提条件
- GitLab.comでアカウント作成済み
- Sphinxで初回ビルドできる環境を構築済み
やること
- リポジトリの作成とクローン
- リポジトリのクローン
- Sphinxでプロジェクトの作成
.gitlab.yml
を作成し、GitLabへPush後、CI結果を確認- GitLab Pagesへアクセス
リポジトリの作成とクローン
なんか適当にREADMEだけあるようなリポジトリを作成してクローンしておく
Sphinxでプロジェクトの作成
$ sphinx-quickstart -q -p sphinx-handson -a Tocyuki -v 1.0 sphinx-handson
状態の確認
$ git status On branch master Your branch is up-to-date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) Makefile conf.py index.rst make.bat
GitLabへPushしておく
$ git add . $ git commit -m 'Create sphinx-handson project' $ git push
.gitlab.yml
を作成し、GitLabへPush後、CI結果を確認
以下のページを参考にして.gitlab.yml
を作成する
image: alpine pages: script: - apk --no-cache add py2-pip python-dev - pip install sphinx - apk --no-cache add make - make html - mv _build/html/ public/ artifacts: paths: - public only: - master
GitLabへPush
$ git add . $ git commit -m 'Create .gitlab-ci.yml' $ git push
CI結果がパスしていることを確認
GitLab Pagesへアクセス
以下のページからGitLab PagesのURLを確認する
画面が正常に表示されることを確認
おわりに
GitLabでCI環境作ってしまえばGitLab Pagesへテスト後自動でデプロイされるしめちゃ便利!
GitHubはデファクトスタンダードだけど、GitLabですべて完結できるのは大きいなぁと感じました!
今後はGitLabを中心に使っていこうかなー。
参考情報
今回使用したリポジトリです。 gitlab.com
Sphinxユーザーの会 sphinx-users.jp