Hallo zusammen, ich teile hier ein praktisches Skript, das mir hilft, meine Discourse-Entwicklungsumgebung auszuführen.
Es zieht alle neuesten Änderungen, holt die Updates von installierten Plugins und führt alle Migrationen durch, sowie die Installation der notwendigen Gems und pnpm-Pakete.
Der Nachteil des Skripts ist, dass es auch die mit dem Core gebündelten Plugins zieht, was technisch gesehen nichts bewirken würde, da diese mit dem ersten git pull aktualisiert würden. Na ja.
Hinweis: chatgpt.com hat mir geholfen, die Logik der if-Anweisung zu schreiben (meine anfänglichen Experimente schlugen fehl).
~/rundiscourse.sh:
#!/bin/bash
cd ~/discourse
git pull
cd plugins
PLUGIN_DIR=~/discourse/plugins
for folder in "$PLUGIN_DIR"/*; do
if [ -d "$folder/.git" ]; then
output=$(git -C "$folder" pull)
if ! echo "$output" | grep -q "Already up to date."; then
echo "[$(basename "$folder")] $output"
fi
fi
done
cd ~/discourse
bundle install
pnpm install
bin/rails db:migrate
DISCOURSE_HOSTNAME=localhost UNICORN_LISTENER=localhost:3000 bin/ember-cli -u
Dann ausführen:
chmod +x rundiscourse.sh
Gehen Sie dann zur Datei ~/.bashrc (mit nano oder einem anderen Editor) und fügen Sie diesen Teil hinzu, falls er noch nicht vorhanden ist (er befindet sich weiter unten):
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Fügen Sie dann Folgendes zur Datei ~/.bash_aliases hinzu:
alias discourse="~/rundiscourse.sh"
Schließen Sie Ihr Terminal und öffnen Sie es erneut.
Wenn Sie nun discourse im Terminal ausführen, sollte Ihre Entwicklungsumgebung starten!
Ich hoffe, das hat geholfen! Lassen Sie mich auch wissen, wenn ich etwas falsch mache oder ob es verbessert werden kann. Danke!