CI サービスを活用して Zenn の執筆環境を作る - 序章

4 min読了の目安(約2900字TECH技術記事

はじめに - Zenn と GitHub

この Ariticle は私の記念すべき Zenn 初投稿です。

Zenn は GitHub リポジトリと連携し、GitHub に push した markdown ファイルと同期し
Article や Book を公開できます。
また Zenn CLI を使うことでローカル環境での執筆ができます。

これらエンジニアライクな仕組みが Zenn の特徴の1つといえるでしょう。
というわけで、私は Zenn が GitHub 管理可能である点を最大限に活かすことを目的として、
Zenn を使い Zenn に投稿していきたいと思います。

GitHub リポジトリを作成・連携する

まずは GitHub のリポジトリを作成しましょう。
このような基本的なチュートリアルは Zenn の公式ドキュメントがありますので、そちらに従って作成しましょう。

GitHubリポジトリでZennのコンテンツを管理する | githubとの連携手順 | Zenn

Zenn CLI で記事を書く

Zenn CLI を使用したローカル執筆環境の構築も公式ドキュメントがありますので、そちらに従ってセットアップしましょう。

Zenn CLIをインストールする | Zenn

続いて、記事の書き方もドキュメントに従えばすぐにできると思います。

Zenn CLIを使ってコンテンツを作成する | Zenn

一通り行うと以下のようにローカルの執筆環境ができあがります。

GitHub リポジトリの公開設定について

Zenn は Book を有料で販売することも可能です。
もしあなたが販売することを考えていないのであれば、 Public リポジトリで良いと思います。
販売を検討しているのであれば、 Private リポジトリになると思います。
(Zenn では有料だが、GitHub では無料で閲覧可能とするならば Public でも良い)

しかしながら、Private リポジトリの場合 CI サービスなど無料の範囲で利用できるサービスの選択肢が狭まってしまいます。

Zenn と GitHub の同期について

Zenn は GitHub の特定のブランチと同期する仕組みになっています。
デフォルトでは master ブランチです。
新しく article や book を書いたら master ブランチに PR を出す形にすると CI サービスを利用しやすくなるので、そのスタイルで運用すると良さそうです。

すぐに使えそうな CI サービス

Sider

Sider は国産のレビュー CI サービスです。
PR に対して様々なツールの解析結果をもとにレビューをつけてくれます。

Zenn の場合 Markdown で記述するので remark-lint 、文章を書くので MisspellGoodcheckLanguageTool がオススメです。

Free プランでは Private リポジトリは扱えませんので注意してください。
Sider - Pricing

GitHub Actions

GitHub Actions は GitHub の CI サービスです。
こちらは Private リポジトリでも Free プランで扱うことが可能です。
(ただし制限あり。2020/9/23 時点では「1か月あたり2,000分」)

GitHub Actions は Sider のようなレビュー(lint)系 CI サービスと異なり、やろうと思えば何でもできます。
CI ワークフローを組む手間はありますが、 Sider と同様に remark-lint などの lint ツールを実行しその結果を PR レビューにすることも可能。

その際に便利なのが reviewdog です。
簡単にセットアップでき、ツールの出力を reviewdog に食わせるだけで PR レビューが実現できます。

最後に

さて本 Article はこちらで最後となります。
この Article は GitHub の Private リポジトリで GitHub Actions を使って誤字脱字などのチェックを行ってからリリースしました。
このあたりの詳細をまた投稿できたらと思っております。

今後とも宜しくお願いします。