Je sais qu'il y a des questions identiques/similaires sur le débordement de pile et j'ai lu la documentation aussi - je ne comprends toujours rien - comment définir ces variables et OERE !! pour les définir.
Mon fichier env/production.js:
module.exports = {
"DATABASE_URI": process.env.DATABASE_URI,
"SESSION_SECRET": process.env.SESSION_SECRET,
"Twitter": {
"consumerKey": process.env.Twitter_CONSUMER_KEY,
"consumerSecret": process.env.Twitter_CONSUMER_SECRET,
"callbackUrl": process.env.Twitter_CALLBACK
},
"FACEBOOK": {
"clientID": process.env.FACEBOOK_APP_ID,
"clientSecret": process.env.FACEBOOK_CLIENT_SECRET,
"callbackURL": process.env.FACEBOOK_CALLBACK_URL
},
"GOOGLE": {
"clientID": process.env.GOOGLE_CLIENT_ID,
"clientSecret": process.env.GOOGLE_CLIENT_SECRET,
"callbackURL": process.env.GOOGLE_CALLBACK_URL
},
"LOGGING": true
};
Dans mon fichier env/development.js j'ai défini les variables (liées à mon postgres/localhost/xxx). Dois-je les mettre en heroku pour tous (Google, Facebook etc.) ou juste pour la base de données, car je devais en créer un avec heroku? Dois-je laisser le lien vers ma base de données locale dans mon fichier de développement et un lien vers la base de données heroku séparément?
Je ne sais même pas si je suis censé le faire à partir de ma ligne de commande?! Dans la documentation, il est dit: config heroku: obtenir CONFIG-VAR-NAME -s >> .env alors ce serait la config heroku: obtenir CONFIG-NAME DE MA BASE DE DONNÉES HEROKU -s >> .env?
Je me déploie pour la première fois et tellement confus! Aidez-moi :)
Selon documentation vous pouvez utiliser heroku CLI
$ heroku config:set DATABASE_URI=database_uri_here
$ heroku config:set SESSION_SECRET=session_secret
... and so on for each variable,
ou vous pouvez utiliser l'interface utilisateur https://dashboard-classic.heroku.com/apps/ {your-app-name}/settings et fournir les mêmes variables via l'interface Web, comme je le mentionne dans le commentaire ci-dessus
NODE_ENV=production
n'est pas traité spécialement par heroku
, vous devez donc le fournir ainsi que toute autre variable env
ps: à proprement parler, cette question n'appartient pas vraiment à SO, car elle n'est pas liée à la programmation. Peut-être qu'il doit être déplacé vers SU
Utilisation:
heroku config:set $(cat .env | sed '/^$/d; /#[[:print:]]*$/d')
pour définir votre configuration à partir du fichier .env.
En particulier, les variables de connexion à la base de données ne fonctionneront pas via les variables env Heroku. Je suggère d'utiliser dotenv et de définir des variables dans le fichier en installant Heroku CLI puis en utilisant bash:
heroku login
heroku run bash -a app_name
créer .env
fichier s'il n'est pas là et y ajouter des valeurs
touch .env
echo "ENV_VAR=value" >> .env
confirmer l'entrée dans un fichier
cat .env