メニュー

Gitによるデプロイ

開発環境とサーバ環境で、バージョン管理システムの Git を使っているなら、ホスティング形式の Git サービスである GitHub や、Gitlab を使ったシンプルなワークフローを構築できます。 Git や、そのクライアントツールに親しんでいるなら、試してみてください。

そのメリットは:

  • クリーン : いくつかのコマンドライン命令を出すだけで、いくらでも自動化可能
  • 信頼性 : アップロードするファイルを覚えておく必要がなく、必要な変更だけを確実にエスカレーション可能(特に、ファイル内の一部だけを更新した場合に便利です)
  • 安全 : クラウドホスティングを正規のリポジトリ( “origin” )に利用することにより、(バージョン管理された)ソースのバックアップが無料で使えます; issue を使ってタスク管理もできます。

セットアップ

Git ベースのワークフローには、いくつかのセットアップが必要です。以下は、構成のおおまかな概要です。plugins のようなサードパーティー製のコードを含むフォルダに commit したいかどうかによって、最初にサーバーにセットアップするときのステップが少し増えるかもしれません。

  • あなたの開発環境で、 Grav の user フォルダが、Git リポジトリであるとします。
  • user フォルダは、クラウドにもホスティングされています。もし世界にシェアされたくない場合は、private リポジトリに対応しているプロバイダを選んでください。
  • ホスティングしたコピーは、ローカル環境やサーバー環境から見れば “リモート” にある origin です。
  • Grav サイトへの変更を、ローカル環境から、Git のクラウドホスティング上の origin に push します。
  • サーバー上には、Grav がインストールされており、その user フォルダは、リモートリポジトリのクローンです。
  • サーバー上で Grav サイトを更新したいなら、リモートの origin から Git で pull してください。

アップデート

最初のセットアップが終わったら、重要な更新ごとに、2つのステップを踏むだけです:

  • ローカル環境から push する
  • サーバーへ変更を pull する

セットアップの拡張

さらに高度な自動化を望むなら、Git Hooks をセットアップできます。もしくは、 Github’s webhooks のような機能を使うこともできます。また、web 編集者たちが、管理プラグインを使って、それぞれ自身のインストール環境で編集したコンテンツの変更を、統合することもできます。Git タグを使って、公開された内容を(ほぼ)不変の記録として残すことができます。

利用できるツールは、すべての種類のマルチ環境のワークフローと自動化をサポートします。

[!Tip]
Git Sync plugin を使えば、コンテンツワークフローに Git を利用できます。コンテンツ編集者は、管理パネルプラグインを通して、変更をデプロイできます。

以下は、 user フォルダのリポジトリの .gitignore ファイルの例です。これにより、デプロイがクリーンに保たれるでしょう:

accounts/*
!accounts/.*
data/*
!data/.*
languages/*
!languages/.*
plugins/*
!plugins/.*
themes/*
!themes/.*
!themes/MY_CUSTOM_THEME/
**/config/security.yaml

[!Info]
もしコントロールしたいソースを含むカスタムテーマや、テーマの継承を使っているときは、上記の MY_CUSTOM_THEME を、そのテーマ名に変更してください。サイト特有のカスタムプラグインについても、同様の検討をしてください。