GitHubリポジトリでZennのコンテンツを管理する
ZennにはWeb上のエディターが用意されていますが、GitHubリポジトリと連携すればローカルのテキストエディターで執筆することもできます。
GitHub連携時のイメージ
GitHubリポジトリと連携した場合、投稿コンテンツの作成や更新はすべてリポジトリ内で行います。登録したブランチに変更があると、zenn.devへ自動で同期(デプロイ)が行われます。
同期するブランチの指定
GitHub連携が完了している場合、下記のページからブランチを変更できます。
デプロイ設定 →
コンテンツの作成
ローカルのテキストエディターなどでmarkdownファイルを作成し、編集します。ファイルの作成やプレビューにはZenn CLIを使用できます。
markdownファイルの編集後、リモートリポジトリ(GitHub)へプッシュします。登録したブランチへのプッシュやプルリクエストのマージによりデプロイが開始されます。
デプロイの進捗状況はヘッダーにアイコンで表示されます。
デプロイ履歴はダッシュボードから確認できます。デプロイ時に発生したエラーもここでチェックします。
デプロイ履歴
内容の更新
内容を変更するときは.md
ファイルを編集し、再度プッシュします。変更が加えられた.md
ファイルのみがzenn.devに同期されます。
コンテンツの削除
安全のため、コンテンツの削除はダッシュボードの投稿管理からのみ行うことができます。
GitHubとの連携手順
1. リポジトリを作成する
まずGitHubで好きな名前のリポジトリを作成します。公開設定はPublicでもPrivateでもOKです。この時点ではリポジトリの中身は空にしておきます。README.mdを作成する必要もありません。
2. Zennのダッシュボードから連携する
Zennにログインしたうえで、ダッシュボードのGitHubからのデプロイを開きます。
[リポジトリを連携]を選ぶと、リポジトリを選択する画面が表示されます。
このとき必ず「Only select repositories」にチェックを入れて、連携するリポジトリだけを選ぶようにしてください。
これで連携は完了です。
3. 同期するブランチ名を確認
リポジトリ設定タブで同期したいブランチ名を確認・変更します。
ここで登録されている名前のブランチに変更があったときに自動でデプロイが行われます。
ファイルの作成やプレビューはCLIで
ローカルでのファイルの作成や、markdownのプレビューにはZenn CLIを使います。具体的な使い方は下記のページをご覧ください。
GitHubリポジトリ連携についてのFAQ
連携するリポジトリを変更したい
ダッシュボードで連携を解除した後に、再度連携を行なってください。連携を解除しても同期されているデータはそのまま残ります。
連携するリポジトリを追加したい場合も一度連携を解除してから再連携を行っていただくようお願いします。
リポジトリにプッシュしてもデプロイされない
ダッシュボードからデプロイ履歴を確認してください。
プッシュされた内容に問題がある場合は、エラーメッセージが表示されます。
もしデプロイ履歴にログが出ていない場合は、GitHubのインストール済みのApplicationsの一覧からZenn ConnectのConfigureを開き、ダッシュボードに表示されている連携リポジトリとApplicationがアクセスを許可しているリポジトリが一致することを確認してください。
▼ リポジトリ設定に表示されているリポジトリ
▼ Applicationがアクセスを許可しているリポジトリ
一致していない場合はデプロイされませんので、Application側のリポジトリを変更してください。また、連携するリポジトリを変更したい場合は、zennのダッシュボードから一度連携を解除してから再度連携を行ってください。
複数リポジトリ連携時に同じ記事を別リポジトリに移行することはできる?
slugが一致していればどちらのリポジトリから同期されても同じように上書きされます。そのため、記事や本のファイルを別のリポジトリに移動するだけで移行は完了します。
Discussion