Salut tout le monde, je partage juste un script pratique que j’ai mis au point pour m’aider à exécuter mon instance de développement Discourse.
Il récupère toutes les dernières modifications, récupère les mises à jour des plugins installés, exécute toutes les migrations, ainsi que l’installation des gems et des packages pnpm nécessaires.
Le seul inconvénient du script est qu’il récupère également les plugins inclus dans le cœur, ce qui techniquement ne ferait rien puisqu’ils seraient mis à jour avec le premier git pull. Tant pis.
Remarque : chatgpt.com m’a aidé à écrire la logique de l’instruction if (mes premières expériences ont échoué).
~/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
Ensuite, exécutez :
chmod +x rundiscourse.sh
Ensuite, allez dans le fichier ~/.bashrc (en utilisant nano, ou n’importe quoi d’autre), et ajoutez ce bout si vous ne l’avez pas déjà (il est plus près du bas)
# 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
Ensuite, ajoutez ce qui suit au fichier ~/.bash_aliases :
alias discourse="~/rundiscourse.sh"
Fermez votre terminal et rouvrez-le.
Maintenant, lorsque vous exécutez discourse dans le terminal, votre environnement de développement devrait démarrer !
J’espère que cela vous a aidé ! N’hésitez pas à me faire savoir si je fais quelque chose de mal ou si cela peut être amélioré. Merci !