(désuet) Guide pour configurer l'environnement de développement Discourse - GitHub Codespace


Développement avec GitHub Codespaces

GitHub Codespace est une excellente option de développement. C’est formidable car il est hébergé dans le cloud, je peux facilement m’assurer que tout le monde qui développe ici a le même environnement, pas de problèmes avec les installations Docker locales, un accès facile pour rendre mon instance de développement locale accessible publiquement, et aussi, utiliser de nouvelles technologies est amusant.

Je suis actuellement en train de réapprendre le développement et j’ai décidé d’apprendre GitHub Codespaces en plus d’apprendre le développement de Discourse, j’ai donc créé ce guide pour toute personne cherchant à développer sur Discourse dans GitHub Codespace plutôt que de configurer un environnement local.

J’ai décidé d’écrire ce guide après avoir rencontré une série de problèmes pour faire fonctionner cela avec GitHub Codespace moi-même :

Ce guide ne présuppose rien, afin que nous ne manquions aucune étape pour vous mettre en marche. Je suspecte que certains aspects de ce processus peuvent être améliorés au niveau du dépôt principal pour la configuration de GitHub Codespace, ou du moins en raison de mon manque de compréhension. N’hésitez pas à les signaler.

Forker le dépôt Discourse

  1. Naviguez vers https://github.com/discourse/discourse

  2. Cliquez sur le bouton Fork en haut à droite de la page et cliquez sur le bouton vert Create fork sur la page suivante.

  3. Après un bref instant, vous serez redirigé vers votre nouveau fork du dépôt discourse/discourse :

Configurer votre GitHub Codespace

  1. Cliquez sur le bouton vert < > Code

  2. Passez à l’onglet Codespaces et cliquez sur le bouton vert Create codoespace on main.

  3. Vous serez redirigé vers une nouvelle fenêtre où GitHub commencera à créer votre codespace. Cela devrait prendre 1 à 3 minutes :
    chrome_LYoRTOWojo

  4. Après quelques minutes, vous verrez votre GitHub Codespace (qui n’est autre que VS Code dans votre navigateur) :

Configurer votre environnement Codespace

Quelques configurations sont nécessaires pour votre environnement codespace avant que vous ne soyez opérationnel.

  1. Créez un nouveau shell bash en cliquant sur Ctrl + Shift + backtick sous Windows/Linux, ou Cmd + Shift + backtick sur Mac. Votre shell devrait vous démarrer dans le répertoire /var/www/discourse.

  2. Naviguez vers le répertoire discourse :

cd workspace/discourse

  1. Installez tout à partir du fichier Gemfile du projet
bundle install --gemfile ./Gemfile

La commande est assez longue, mais vous verrez quelque chose comme ceci :

  1. Ajoutez un nouveau config.hosts à development.rb
    1. Depuis le répertoire dans lequel vous vous trouvez actuellement (/var/www/discourse/workspace/discourse), ouvrez le fichier config/environments/development.rb.
    2. Trouvez la ligne config.hosts << /\A(([a-z0-9-]+\.)*localhost(\:\d+)?\Z/ et créez une nouvelle ligne en dessous avec le texte suivant, puis enregistrez le fichier :
config.hosts << /^(.*)\.app\.github\.dev$/

La fin de votre fichier devrait ressembler à ceci (notez la ligne 102 dans ma capture d’écran) :

  1. De retour dans votre terminal, exécutez bundle exec rake admin:create pour créer votre premier compte administrateur. La commande vous demandera de choisir une adresse e-mail et un mot de passe (le mot de passe doit comporter au moins 10 caractères).

Démarrer vos Moteurs Serveur

La construction et le démarrage du serveur prendront 1 à 2 minutes. À ce stade, vous devriez avoir tout ce dont vous avez besoin pour exécuter et accéder à votre application.

  1. Dans le même terminal où vous vous trouvez, exécutez la commande suivante pour démarrer votre serveur :
bin/ember-cli -u

  1. Passez de l’onglet Terminal à l’onglet PORTS dans votre console :

  2. Cliquez sur l’Adresse transférée pour le port 4200 en utilisant Ctrl + clic pour Windows/Linux, ou Cmd + clic pour Mac et vous serez accueilli par votre environnement de développement !

J’espère que cela aidera quelqu’un d’autre à démarrer avec GitHub Codespaces ! :tada:

11 « J'aime »

Super, c’est une bonne option quand on voyage léger

2 « J'aime »

Ou dans mon cas, je ne veux vraiment pas développer sous Windows et Docker, mais je ne veux pas non plus passer à un environnement Unix à la maison (bien que j’en utilise un au travail).

J’aime juste l’idée que tout soit là, dans mon dépôt GitHub.

3 « J'aime »

Je pense que ce guide a besoin d’une mise à jour. Il ne fonctionne pas lors de l’exécution de l’étape 5, car les bases de données ne sont pas encore créées.

1 « J'aime »

J’ai réussi à le faire fonctionner en exécutant

bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/main/linux)

Puis

bin/rails db:create 
bin/rails db:migrate
RAILS_ENV=test bin/rails db:create db:migrate

Suivi par

bin/ember-cli -u

Puis dans un terminal divisé

bin/rails admin:create
1 « J'aime »

@jordan-violet Je suppose qu’il s’agit d’une #installation-non-prise-en-charge ? Je ne trouve pas mon app.yml, donc je ne peux pas installer de plugins.

Pour installer un plugin, vous pouvez suivre les étapes décrites dans Install plugins in your non-Docker development environment

3 « J'aime »

Vous créez un lien symbolique depuis votre dossier de plugins vers le dossier de votre code de plugin.

2 « J'aime »

@jordan-violet merci d’avoir créé ce guide avec toutes les solutions de contournement qui étaient auparavant nécessaires :pray:

Je suis heureux de dire que nous avons maintenant fusionné un tas de changements dans notre configuration devcontainer/codespaces, ce qui devrait rendre beaucoup plus facile de démarrer sans avoir besoin de forker ou de configurer manuellement quoi que ce soit.

Voici le guide officiel :

Je vais ajouter une note en haut du message original ici, dirigeant les gens vers les guides officiels :writing_hand:

6 « J'aime »