こんにちは。
Discourse はすでにインストールして実行中です。アプリを再構築するたびに、ランチャーリポジトリ、Discourse/base Docker イメージ、および Discourse リポジトリがプルされます。
この動作を制限して、特定のパラメータが渡されない限り、再構築で更新を確認して自動的にプルしないようにしたいと考えています。
同様のことを行ったことがある人はいますか?
こんにちは。
Discourse はすでにインストールして実行中です。アプリを再構築するたびに、ランチャーリポジトリ、Discourse/base Docker イメージ、および Discourse リポジトリがプルされます。
この動作を制限して、特定のパラメータが渡されない限り、再構築で更新を確認して自動的にプルしないようにしたいと考えています。
同様のことを行ったことがある人はいますか?
バージョンの安定性について懸念はありますか?
なぜ安定版に切り替えないのですか?
安定版のバージョン3.2.0を使用しています。
コンテナを再構築するたびにではなく、リポジトリからGitHubまたはDocker Hubからプルしたいだけです。
標準のインストールを使用していますか?
もしそうであれば、なぜ再構築コマンドを実行しないのですか?
FYI、安定版へのアップデートは重要です。通常、脆弱性や重大なバグ修正が含まれています。
はい、標準のスタンドアロンアプローチを使用しています。アプリを最新の状態に保つ必要性は理解しています。私の考えは、リポジトリを更新したいときにランチャーにフラグを追加することです。
コンテナを再ビルドせずに再起動したい場合は、次のようにします。
./launcher restart app
更新せずに再ビルドする必要があるのはなぜですか?目的は何ですか?
安定版のアップデートで破壊的な変更が発生する可能性は低いです。
安定版のポイントは変更がないことです。なぜ再構築しているのですか?
コンテナをプルする理由は、ディスコースコードの要件との整合性を保つためです。
プルせずにコンテナに入りたい場合は、次のようにします。
docker exec -it app bash
プラグインを再構築せずにプラグインを追加したい場合は、プラグインディレクトリに入ってクローンし、データベースを移行できます。ただし、プラグインの正しいコミットを取得していることを確認する必要があります。
プラグインを追加または削除した場合に、./launcher restart app ではインスタンスが更新されないことがあります。
安定版リリースは比較的まれであり、頻繁に破壊的な変更をもたらすことはなく、アップデートがある場合は通常、重要なセキュリティアップデートが付属するため、あなたの要件が理解できません。
私の考えでは、プラグインを追加することは、利用可能なすべてのアップデートを取得して確認するための良い口実です。
安定版でアップデートしないことは、既知の脆弱性に長時間さらされる可能性があるため、私の意見では悪い習慣です。
ランチャーに以下の変更を加えました
echo " --pull-git 最新のgitリポジトリをプルします"
echo " --pull-image 最新のDockerイメージをプルします"
pull_git=false
pull_image=false
rebuild)
if [ "$(git symbolic-ref --short HEAD)" = "master" ] && [ "$pull_git" = true ]; then
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a
fi
....
これにより、再構築を行うたびに更新を回避できるようになりました。プラグインのインストールが可能になります。
これらのプラグインで問題が発生した場合は、新しいトピックを開始するときに必ず言及してください。
いいえ、少なくとも適切にはできません。
API専用プラグインでは機能するかもしれませんが、JavaScriptや新しいプラグインはコンパイルする必要があり、これはビルドプロセス中に発生します。
したがって、ほとんどの場合、新しいプラグインを追加するには再ビルドを実行する必要があります。
また、コアビルドスクリプトを変更すると、特にコアスクリプトに十分な変更があった場合、注意しないと深刻な問題に陥る可能性があります。