alank
(Andrew Lank)
2019 年 8 月 17 日午前 2:13
1
開発とテストの過程で、Bitnami の Docker Discourse インスタンスを稼働させており、Discourse と通信する当社の API サービスの大部分の API テストはこれで対応できています。しかし、現在 /u/search/users.json?term=and を使用した検索のテストを行う必要があり、このローカルの Discourse テストサービスにいくつかのユーザーをシードしたいと考えています。デフォルトでは「user」という名前のユーザーが 1 人だけ存在します。
API ドキュメントには、これを行うための API 呼び出しについての説明が見当たらず、簡単に行えるはずなのですが、複数のユーザーをテスト用に作成する方法を見落としているのでしょうか?
なお、本番環境の有料 Discourse サービスに対しては手動でリクエストを作成してテストを行っており、それは機能しています。しかし、開発・テストインスタンスに対してテストを行いたいと考えており、そのためにはより多くのテストユーザーが必要です。
よろしくお願いいたします。
fzngagan
(Faizaan Gagan)
2019 年 8 月 17 日午前 3:58
2
Bitnamiは、Discourseのセットアップフォルダのコマンドラインにアクセスできますか?
可能であれば、こちらをご覧ください:
Hi,
We have a test site with the email globally disabled, this test site has an old copy of the production site so we don’t want to send any emails from this one.
Is there any way to add a new user to our test site which does not involve emailing for confirmation of details?
Thanks
alank
(Andrew Lank)
2019 年 8 月 19 日午前 10:45
3
@fzngagan さん、ありがとうございます。残念ながら、Bitnami の Discourse には Launcher がインストールされていません。「enter app」は具体的に何をするのでしょうか?単に bundle exec rake admin:create を実行すればよいと思っていたのですが、以下のようなエラーが返ってきます…
rake aborted!
LoadError: cannot load such file -- byebug
/opt/bitnami/discourse/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:82:in `require'
/opt/bitnami/discourse/config/application.rb:37:in `<top (required)>'
/opt/bitnami/discourse/Rakefile:5:in `require'
/opt/bitnami/discourse/Rakefile:5:in `<top (required)>'
/opt/bitnami/discourse/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/opt/bitnami/ruby/bin/bundle:23:in `load'
/opt/bitnami/ruby/bin/bundle:23:in `<main>'
(See full trace by running task with --trace)
これは有望に見えましたが、結局最初からやり直しになってしまいました。
csmu
(Keith John Hutchison - Ceiteach Seán Mac Úistin)
2019 年 8 月 19 日午前 10:58
4
サポートされている公式の Discourse インストールを使用することはできますか?
alank
(Andrew Lank)
2019 年 8 月 19 日午前 11:30
5
開発環境では複数のサービスが必要であり、Discourseおよびそのすべてのモジュールを含むすべてのサービスを docker-compose up という単一のコマンドで起動し、サービス間のネットワーク定義・制御を行い、さらに docker-compose down ですべてを停止することを好みます。これにより、新規インストール時にランチャーを追加する追加ステップを回避できます。
alank
(Andrew Lank)
2019 年 8 月 19 日午前 11:46
6
OK、解決しました。開発用に bitnami Discourse の docker-compose (Docker) インストールを使用している方のために、私が実施した手順(@fzngagan 氏が指摘した内容を参考に)を以下に示します。
> docker exec -it <コンテナ名> /bin/bash
コンテナ内で…
> export RAILS_ENV=production
これがログ出力にどのような影響を与えるか確信が持てません。もしかすると =dev または development とすべきだったかもしれません…。これは皆さんに報告していただきたい点ですが、急いでいるため申し訳ありません
> bundle exec rake admin:create
質問に答えてください。パスワードは Discourse の規則に従う必要があります。そうでないとスクリプトが最初から再開されます
注:上記の @fzngagan 氏が示したリンクに記載されている ./Launcher は必要ありません。
Discourse が Dev または Test 環境に設定されている場合、これが API 経由で利用可能であれば、API サービスのテストや開発が大幅に簡素化されるのは残念なことです。しかし、当面は Docker インスタンス内のコマンドラインで対応します。
alank
(Andrew Lank)
2019 年 8 月 19 日午前 11:50
7
追加の注意点として、export RAILS_ENV=production(production に設定)は Discourse のログ情報に影響を与えないようですが、その変更後に docker-compose を再起動しなかったため、環境変数を削除するか、development や dev、その他適切な値に設定する必要があるかもしれません。