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ドキュメントを参照できるようになりました。
下記の流れで、実現しました。
- Node.jsとnpmのインストール
- npmを用いたReDocのインストール
- 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では我々と一緒に働きたいという人材を募集しています。 詳しい募集要項等については採用ページを ご覧下さい。
本文および図表中では、「™」、「®」を明記しておりません。
記載されている会社名、製品名は、各社の登録商標または商標です。