Discourseホスティングでの開発ライフサイクル

こんにちは!
クライアント(非営利団体)のためにサードパーティ製のフォーラムシステムを探しており、現時点では Discourse が最も人気があるようです。

https://meta.discourse.org/ を読んでも、開発ライフサイクルについて明確な理解が得られませんでした。

  1. Discourse ホスティングを選択した場合、サーバーにリモートアクセスできますか?
  2. プラグインやその他のカスタマイズ(テーマ、スタイルなど)をテストするために、ローカルホスト上に Discourse の開発インスタンスを準備する必要がありますか?それとも、直接「本番環境」で変更を試す・テストすることも可能でしょうか(私は後者は好みません)。
  3. カスタマイズ(スタイルやプラグインの適用など)をログ記録する方法はありますか?例えば、開発環境でスクリプトを実行し、問題がなければ本番環境(Discourse ホスティングまたはセルフホスト)に適用するといった「継続的デリバリー」のような仕組みは存在しますか?
  4. カスタマイズがうまくいかなかった場合、どのように元に戻せばよいでしょうか?プラグインのテストであれば、単に「無効化」すればよいのでしょうか?

ご助言をいただければ幸いです。

「いいね!」 1

CDCK または Communiteq(旧 DiscourseHosting)がホストしている場合、私の知る限り、完全にマネージド型です。SSH アクセスやそれに類するものは得られません。エンタープライズプランを利用していない限り、プラグインの選択肢は固定されており、それぞれのチームによって互換性がテストされています。

ホスト型オプションでも、テーマやテーマコンポーネントを制限なくインストールできます。もちろん、テストインスタンスを用意することをお勧めします。

CDCK ホスティングにおいて、そのような CD オプションがあるとは存じ上げていません。もし私の認識が間違っている場合は、チームの誰かが訂正してくれるかもしれません。最悪の場合、他の場所でテストしたのと同じ方法で、ライブサイトに変更を加えることになります。

基本のホスト型オプションでは追加のプラグインをインストールできません。デフォルトで最も一般的かつサポートされているいくつかのプラグインが含まれています。追加のプラグインを使用するには、エンタープライズティアにアップグレードするか、セルフホストする必要があります。プラグインは app.yml に組み込んでサイトを再構築する必要があります。無効化する場合は、該当行をコメントアウトして再度再構築を実行します。テーマやテーマコンポーネントは、サイトの稼働時間やユーザーのアクセスに影響を与えることなく、追加・削除が可能です。

「いいね!」 9

ここで補足しますが、Stephen が投稿した内容はすべて正確です。

当社のホスト型サイトでは、Discourse API にフルアクセスできますが、サーバーへの SSH アクセスは提供されません。カスタムプラグインは、スタンダードまたはビジネスプランではインストールできませんが、エンタープライズプランでは、当社チームによる審査を経た後に、開発したプラグインをインストールできます。各プランにプリインストールされているプラグインについては、Plugin directory | Discourse - Civilized Discussion をご覧ください。

カスタムテーマおよびテーマコンポーネントは、すべてのプランでインストール可能です。

当社のホスティングの仕組みを理解する最も簡単な方法は、スタンダードまたはビジネスプランの無料トライアルに登録することです。こちらからお試しください:https://www.discourse.org/pricing。トライアルサイトでは自動課金されることは一切ありませんので、Discourse と当社のホスティングサービスをリスクなしで試すことができます。

「いいね!」 8

Discourse API

「いいね!」 1

ご質問へのもう一つの答えは、それらのことを(行わなければならない)やりたい場合は、セルフホスティングが必要になるということです。

ただし、プラグインはほとんど不要でしょう。カスタマイズのほとんどはテーマコンポーネントで行うことができます。

すべての管理者の変更は UX にログ記録されるため、誰がいつ何を変更したかを確認できます。

もしカスタムプラグインの開発をしたい場合、Discourse とプラグインを特定のコミットに固定し、GitHub へのインベントリプッシュによってステージングサイトと本番サイトに変更を加えることができる CI/CD システムを開発しました。残念ながら、クライアントは私がそれを設定した直後にプロジェクトを放棄してしまいました。

「いいね!」 7