GitLabPagesの活用について

JCB デジタルソリューション開発部 アプリチームの森口です。
アプリチームではJCBが提供する様々なサービスの開発・運用をしています。
私は、主にAPIサービスの開発を担当しています。

現在プロジェクトでは、GitLabでソースコードの管理し、GitLab CI/CDでCI(継続的インテグレーション)を実現しています。
今回、担当プロジェクトでGitLab Pagesを活用し、APIドキュメントの公開を実施したので、ご紹介します。

GitLab Pagesについて

GitLab CI/CDを利用して、静的サイトをGitLabのリポジトリから直接公開できる機能のことです。

GitLab Pagesの公式ドキュメントはこちらです。

.gitlab-ci.ymlの記述

pages: #ジョブの名前はpagesである必要があります。
  stage: page #任意のステージを指定します。
  script:
  - echo '変換処理などを記述'
  artifacts:
    paths:
    - public #publicである必要があります。

基本的にはscriptに変換処理などを記述します。

プロジェクトでの活用内容

APIドキュメントの生成&公開

私が携わっているプロジェクトでは、SwaggerでAPIドキュメントを作成しています。
今までは、都度ローカルでhtmlに変換し、有識者にAPIドキュメントを提供していました。
最新化が漏れたり、htmlに変換するのが面倒だったりしました。
今回は、GitLab Pagesを使用して、Swaggerファイルをhtml化し、APIドキュメントを公開しました。
そうする事で、常に最新のAPIドキュメントを参照できるようになりました。

下記の流れで、実現しました。

  1. Node.jsとnpmのインストール
  2. npmを用いたReDocのインストール
  3. ReDocの用いてhtml化
#scriptの記述例
script:
- apk --no-cache add nodejs npm #nodejsとnpmのインストール(Alpine Linuxを使用)
- npm install -g n redoc-cli #redoc-cliをインストール
- redoc-cli bundle -o public/[出力ファイル名].html [swaggerファイル]

まとめ

ここまで、GitLab Pagesについてご説明してきました。
他にも開発工程の効率化に繋がる取り組みを行っているため、そちらの話も今後記載していきたいと思います。

最後になりますが、JCBでは我々と一緒に働きたいという人材を募集しています。 詳しい募集要項等については採用ページを ご覧下さい。


本文および図表中では、「™」、「®」を明記しておりません。

記載されている会社名、製品名は、各社の登録商標または商標です。

©JCB Co., Ltd. 20︎21