GitHub Actions
GitHub PagesでJekyllサイトを構築する場合、セキュリティ上の理由とサイト設定の簡素化のため、標準のフローは制限されています。ビルドをより詳細に制御し、GitHub Pagesでサイトをホストするには、GitHub Actionsを使用できます。
Actionsを使用する利点
gemsetの制御
- Jekyllバージョン —
3.9.3
で提供される従来のGitHub Pagesバージョンを使用する代わりに、任意のバージョンのJekyllを使用できます。たとえば4.3.3
、またはリポジトリを直接指定することもできます。 - プラグイン — サポートされているバージョンのリストに関係なく、任意のJekyllプラグインを使用できます。
*.rb
ファイルはサイトの_plugins
ディレクトリに配置します。 - テーマ — Actionsを使わなくてもカスタムテーマの使用は可能ですが、これでよりシンプルになります。
ワークフロー管理
- カスタマイズ — Actionsを実行するワークフローファイルを作成することで、カスタムビルドステップを指定し、環境変数を使用できます。
- ログ — ビルドログは表示可能で、冗長になるように調整することもできます。そのため、Actionsを使用するとエラーのデバッグがはるかに容易になります。
ワークスペースの設定
まず第一に、GitHubでホストされているJekyllプロジェクトが必要です。既存のJekyllプロジェクトを選択するか、クイックスタートに従って、まだホストされていない場合はリポジトリをGitHubにプッシュします。
このページの残りの部分で使用されるJekyllサイトは、最初は_config.yml
、index.md
ページ、およびGemfile
のみで構成されています。内容はそれぞれ…
# _config.yml
title: "Jekyll Actions Demo"
---
---
Welcome to My Home Page
{% assign date = '2020-04-13T10:20:00Z' %}
- Original date - {{ date }}
- With timeago filter - {{ date | timeago }}
# Gemfile
source 'https://rubygems.org'
gem "jekyll", "~> 4.2"
group :jekyll_plugins do
gem "jekyll-timeago", "~> 0.13.1"
end
デモサイトではJekyll 4とサードパーティプラグインを使用していますが、どちらも現在GitHub Pagesで使用がホワイトリストに登録されていません。このプラグインを使用すると、今日からどれだけ前の日付であるかを記述できます。たとえば、日付を2016-03-23T10:20:00Z
として、現在の日付を2020-04-13T10:20:00Z
とすると、出力は4年前と3週間前
となります。
使用しているアクションは、Rubyのgemと依存関係のインストールを処理します。これによりユーザーにとって設定がシンプルになりますが、古いバージョンのBundlerで生成されたGemfile.lock
もチェックインした場合、問題が発生する可能性があります。
アクションの設定
- リポジトリの**設定**タブに移動します。
- **コードと自動化**の下にある**Pages**をクリックします。
- **ビルドとデプロイ**の下にある**ソース**を**ブランチからのデプロイ**から**GitHub Actions**に変更します。
- リポジトリの**Actions**タブに移動します。
- **新しいワークフロー**を開始し、**Jekyll**を検索します。
- **Jekyll**ワークフロー(**GitHub Pages Jekyll**ワークフローではありません)の下にある**設定**をクリックします。
- 変更を確認し、**変更をコミット**をクリックします。
ビルドとデプロイ
デフォルトブランチにローカルの変更をプッシュすると、アクションがトリガーされ、ビルドが**開始**されます。
進捗状況を確認し、ビルドエラーを確認するには、次のいずれかの方法を使用してビルドの**ステータス**を確認します。
- コミットによる表示
- GitHubのリポジトリレベルビューに移動します。最新のコミット(上部付近)に、コミットメッセージの横にチェックマークまたは*X*として**ステータス記号**が表示されます。その上にカーソルを合わせ、**詳細**リンクをクリックします。
- Actionsタブ
- リポジトリのActionsタブに移動します。
jekyll
ワークフロータブをクリックします。
- リポジトリのActionsタブに移動します。
すべてがうまくいけば、すべてのステップが緑になり、ビルドされたアセットがGitHub Pagesにアップロードされます。
**ライブサイト**を表示するには、リポジトリの**デプロイメント**タブに移動し、デプロイされたサイトのURLをクリックします。
サイトにさらに**変更**を加える必要がある場合は、デフォルトブランチにコミットしてプッシュします。ワークフローによってサイトが再度ビルドおよびデプロイされます。
外部リンク
- starter-workflowsは、このガイドで使用されているワークフローテンプレートを提供する公式リポジトリです。