[RUBY] Exécutez l'environnement Docker Rails MySQL sur Heroku. concevoir et cacher l'API Twitter

Je ne l'ai pas écrit pour le montrer aux autres.

La suite de l'article que mon père, Rails + MySQL + Nginx + Unicorn + Docker + CircieCI, a créé un environnement de développement.

Ajoutez [* Rails *] devise usage (version rails5) à l'environnement créé ci-dessus, et ajoutez l'API Twitter à gem'dotenv-rails' Je l'ai téléchargé sur heroku dans l'environnement de production tout en le cachant avec.

① Changez la commande de docker-compose.yml

docker-compose.yml


command: /bin/sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"

② Introduisez gem'dotenv-rails '

Objectif: je ne veux pas mettre ma clé API Twitter localement sur GitHub

Je ne veux pas mettre le fichier env dans la gestion Git, alors ajoutez ce qui suit au fichier .gitignore.

Ajoutez «.env» à «.gitignore».

Le .env est désormais hors du contrôle de Git.

https://pikawaka.com/rails/dotenv-rails http://vdeep.net/rubyonrails-dotenv

③ Introduisez la clé API en la cachant dans .env de dotenv-rails

[* Rails *] Comment utiliser la devise (version rails5) Réécrivez l'emplacement pour ajouter l'API Twitter à ENV []

config/initializer/devise.rb


config.omniauth :twitter, ENV['TWITTER_API_KEY'], ENV['DATABASE_URL']

④ Changer les variables d'environnement d'Heroku

Peut-être que DATABASE_URL et TWIITER_API_KEY, DATABASE_URL sont indispensables.

Configuration de l'interface graphique Heroku Config Vars ou [Paramètres de variable d'environnement de l'application Heroku (définis par CUI)](https://qiita.com/murakami- Set avec mm / items / 9587e21fc0ed57c803d0)

Paramètres des variables d'environnement de l'application Heroku

$ heroku config
=== <Nom de l'application> Config Vars
CLEARDB_DATABASE_URL: mysql://<Nom d'utilisateur>:<mot de passe>@<nom d'hôte>/<Nom de la base de données>?reconnect=true

--Définir les variables d'environnement Définissez chaque valeur affichée par la commande ci-dessus sur une variable.

$ heroku config:add DB_NAME='<Nom de la base de données>'
$ heroku config:add DB_USERNAME='<Nom d'utilisateur>'
$ heroku config:add DB_PASSWORD='<mot de passe>'
$ heroku config:add DB_HOSTNAME='<nom d'hôte>'
$ heroku config:add DB_PORT='3306'
$ heroku config:add DATABASE_URL='mysql2://<Nom d'utilisateur>:<mot de passe>@<nom d'hôte>/<Nom de la base de données>?reconnect=true'
$ heroku config
=== <Nom de l'application> Config Vars
CLEARDB_DATABASE_URL: mysql://<Nom d'utilisateur>:<mot de passe>@<nom d'hôte>/<Nom de la base de données>?reconnect=true
DATABASE_URL:         mysql2://<Nom d'utilisateur>:<mot de passe>@<nom d'hôte>/<Nom de la base de données>?reconnect=true
DB_HOSTNAME:          <nom d'hôte>
DB_NAME:              <Nom de la base de données>
DB_PASSWORD:          <mot de passe>
DB_PORT:              3306
DB_USERNAME:          <Nom d'utilisateur>

Déployer sur Heroku

Préparations requises pour le projet Rails

config.assets.compile = true
config.assets.initialize_on_precompile=false

De plus, définissez l'API Twitter créée avec «.env» de «gem'dotenv-rails» du côté heroku.

référence https://qiita.com/ymstshinichiro/items/d6ea229f6eb4778006c2 https://golikyua.hatenablog.com/entry/2020/01/09/135254 https://www.sejuku.net/blog/tutorial/111347

Recommended Posts

Exécutez l'environnement Docker Rails MySQL sur Heroku. concevoir et cacher l'API Twitter
Présentez Docker à l'environnement de développement et à l'environnement de test des applications Rails et MySQL existantes
Environnement Build Rails (API) x MySQL x Nuxt.js avec Docker
Comment exécuter React et Rails sur le même serveur
Exécutez l'AWS CLI sur Docker
[Construction de l'environnement avec Docker] Rails 6 et MySQL 8
Déployer des rails sur Docker vers heroku
Rails 6 (mode API) + création d'environnement MySQL Docker par docker-compose (pour Mac)
[Rails / Heroku / MySQL] Comment réinitialiser la base de données de l'application Rails sur Heroku
J'ai construit un environnement de rails avec docker et mysql, mais j'étais malade
Construction de Rails 6 et environnement PostgreSQL avec Docker
Construire un environnement Rails 6 + MySQL avec Docker compose
Déployer sur heroku avec Docker (Rails 6, MySQL)
[Construction de l'environnement Rails & Docker & MySQL] J'ai démarré le conteneur, mais je ne trouve pas MySQL ...?
[Docker] Construction de l'environnement de développement Rails6 / Ruby2.7 / MySQL8
[Première construction d'environnement] J'ai essayé de créer un environnement Rails6 + MySQL8.0 + Docker sur Windows 10.
Procédure pour introduire Docker dans l'environnement de développement des applications Rails existantes [Rails, MySQL, Docker]
[Rails MySQL] Comment réinitialiser la base de données sur heroku
Compilez et exécutez Java sur la ligne de commande
Méthode de construction de l'environnement et dépanneur au moment du développement conjoint (rails, docker et github)
Comment installer Docker dans l'environnement local d'une application Rails existante [Rails 6 / MySQL 8]
Un mémo sur l'exécution d'Azure Functions × Node.js × Typescript avec Docker sur l'environnement virtuel local et le débogage à partir de VSCode
SSL dans l'environnement local de Docker / Rails / puma
Construction de l'environnement Rails Docker
Jusqu'à ce que vous exécutiez Quarkus et que vous exécutiez l'image docker sur Amazon ECS
Installez docker et docker-compose sur ubuntu dans les plus brefs délais
Créez un environnement de développement d'applications Rails avec Docker [Docker, Rails, Puma, Nginx, MySQL]
Créez un environnement pour Rails5 et postgresql avec Docker afin que pgadmin puisse également être utilisé
Organisez la communication dans un environnement qui utilise diverses ressources sur la machine hôte et le conteneur Docker