Ambiente di sviluppo: modo consigliato per avviare il primo account admin senza email?

Ho sperimentato con l’immagine Docker discourse/discourse_dev (su un portatile Windows 11) e ho notato un piccolo punto di attrito nel flusso di lavoro dello sviluppatore.

Quando si esegue Discourse in modalità di sviluppo senza configurare l’email in uscita:

  1. È possibile accedere alla pagina di registrazione/login tramite Ember CLI (localhost:4200).
  2. È possibile creare un account utente.
  3. Ma l’accesso è bloccato perché è richiesta la conferma dell’email.

La soluzione alternativa sembra essere l’attivazione manuale dell’account nella console Rails, ad esempio:

u = User.find_by(username: "admin")
u.approved = true
u.email_tokens.update_all(confirmed: true, expired: true)
u.save!

Questo funziona, ma mi chiedevo:

Esiste un flusso di lavoro per sviluppatori raccomandato per avviare il primo account amministratore quando l’email non è configurata?

Ad esempio:

  • Gli sviluppatori dovrebbero normalmente configurare SMTP anche in sviluppo?
  • Esiste un’attività di supporto per questo (rake admin:create ecc.)?
  • Avrebbe senso che il container di sviluppo consentisse il login del primo utente senza conferma via email?

Chiedo principalmente per documentare un processo di configurazione più agevole per i nuovi sviluppatori che sperimentano con il container di sviluppo.

Sì, esiste:

2 Mi Piace

Grazie! Questo risolve il problema: non mi ero imbattuto in bin/rails admin:create mentre sperimentavo con il container discourse_dev.

Ciò che inizialmente mi ha confuso è stato il fatto che il normale flusso di registrazione dell’interfaccia utente funziona fino al punto di creazione dell’account, ma l’accesso viene poi bloccato dalla conferma dell’email se SMTP non è configurato.

Per chi sta solo esplorando l’ambiente di sviluppo, questo fa sembrare che il flusso di accesso sia interrotto, a meno che non si conosca il task di aiuto.

Potrebbe essere utile menzionare esplicitamente bin/rails admin:create nella documentazione di configurazione per lo sviluppo per il container di sviluppo Docker, poiché i nuovi contributori spesso non hanno SMTP configurato.

Non sono sicuro che sia necessario in quella guida perché dice

Quindi la creazione dell’utente amministratore sembra già far parte del flusso di lavoro

1 Mi Piace

Se hai bisogno di accedere alle email nel tuo ambiente di sviluppo, puoi anche eseguire mailhog.

Tutto quello che devi fare è aprire una nuova riga di comando nella tua directory di Discourse ed eseguire mailhog. Quindi, se visiti localhost:8025, puoi vedere le email che normalmente verrebbero inviate, senza bisogno di configurare nulla.

2 Mi Piace