[RUBY] Führen Sie die Docker-Umgebung Rails MySQL auf Heroku aus. Entwickeln und verstecken Sie die Twitter-API

Ich habe es nicht geschrieben, um es anderen zu zeigen.

Die Fortsetzung des Artikels, den mein Vater, Rails + MySQL + Nginx + Unicorn + Docker + CircieCI, erstellt hat, hat eine Entwicklungsumgebung geschaffen.

Fügen Sie der oben erstellten Umgebung die [* Rails *] - Geräteverwendung (Rails5-Version) hinzu und fügen Sie die Twitter-API zu "gem'dotenv-rails" hinzu Ich habe es in der Produktionsumgebung auf Heroku hochgeladen, während ich es mit versteckt habe.

① Ändern Sie den Befehl von 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'"

② Gem'dotenv-Schienen einführen '

Zweck: Ich möchte meinen Twitter-API-Schlüssel nicht lokal auf GitHub ablegen

Ich möchte die env-Datei nicht in die Git-Verwaltung einfügen, also füge der .gitignore-Datei Folgendes hinzu.

Fügen Sie .env zu .gitignore hinzu.

Die .env ist jetzt außerhalb der Kontrolle von Git.

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

③ Führen Sie den API-Schlüssel ein, während Sie ihn in .env von dotenv-Rails ausblenden

[* Rails *] Verwendung von devise (Rails5-Version) Schreiben Sie den Ort neu, an dem die Twitter-API zu ENV hinzugefügt werden soll []

config/initializer/devise.rb


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

④ Ändern Sie die Umgebungsvariablen von Heroku

Vielleicht sind DATABASE_URL und TWIITER_API_KEY, DATABASE_URL ein Muss.

Heroku-GUI-Einstellung Config Vars oder [Einstellungen für Heroku-App-Umgebungsvariablen (mit CUI festgelegt)](https://qiita.com/murakami- Set mit mm / items / 9587e21fc0ed57c803d0)

Einstellungen für Heroku-App-Umgebungsvariablen

--ClearDB URL Bestätigung Sie können die ClearDB-URL mit dem folgenden Befehl überprüfen.

$ heroku config
=== <App Name> Config Vars
CLEARDB_DATABASE_URL: mysql://<Nutzername>:<Passwort>@<Hostname>/<Name der Datenbank>?reconnect=true
$ heroku config:add DB_NAME='<Name der Datenbank>'
$ heroku config:add DB_USERNAME='<Nutzername>'
$ heroku config:add DB_PASSWORD='<Passwort>'
$ heroku config:add DB_HOSTNAME='<Hostname>'
$ heroku config:add DB_PORT='3306'
$ heroku config:add DATABASE_URL='mysql2://<Nutzername>:<Passwort>@<Hostname>/<Name der Datenbank>?reconnect=true'
$ heroku config
=== <App Name> Config Vars
CLEARDB_DATABASE_URL: mysql://<Nutzername>:<Passwort>@<Hostname>/<Name der Datenbank>?reconnect=true
DATABASE_URL:         mysql2://<Nutzername>:<Passwort>@<Hostname>/<Name der Datenbank>?reconnect=true
DB_HOSTNAME:          <Hostname>
DB_NAME:              <Name der Datenbank>
DB_PASSWORD:          <Passwort>
DB_PORT:              3306
DB_USERNAME:          <Nutzername>

In Heroku bereitstellen

Vorbereitungen für das Rails-Projekt erforderlich

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

Stellen Sie außerdem die Twitter-API ein, die mit ".env" von "gem'dotenv-Rails" auf der Heroku-Seite erstellt wurde.

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

Recommended Posts

Führen Sie die Docker-Umgebung Rails MySQL auf Heroku aus. Entwickeln und verstecken Sie die Twitter-API
Führen Sie Docker in die Entwicklungs- und Testumgebung vorhandener Rails- und MySQL-Apps ein
Build Rails (API) x MySQL x Nuxt.js Umgebung mit Docker
So führen Sie React und Rails auf demselben Server aus
Führen Sie die AWS CLI in Docker aus
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Stellen Sie Rails on Docker für Heroku bereit
Rails 6 (API-Modus) + MySQL Docker-Umgebungserstellung durch Docker-Compose (für Mac)
[Rails / Heroku / MySQL] So setzen Sie die Datenbank der Rails-App auf Heroku zurück
Ich habe eine Rails-Umgebung mit Docker und MySQL erstellt, aber ich war krank
Erstellen einer Rails 6- und PostgreSQL-Umgebung mit Docker
Mit Docker auf Heroku bereitstellen (Rails 6, MySQL)
[Aufbau der Rails & Docker & MySQL-Umgebung] Ich habe den Container gestartet, kann aber MySQL nicht finden ...?
[Docker] Entwicklung der Entwicklungsumgebung Rails6 / Ruby2.7 / MySQL8
[Erste Umgebungskonstruktion] Ich habe versucht, eine Rails6 + MySQL8.0 + Docker-Umgebung unter Windows 10 zu erstellen.
Verfahren zum Einführen von Docker in die Entwicklungsumgebung vorhandener Rails-Apps [Rails, MySQL, Docker]
[Rails MySQL] So setzen Sie die Datenbank auf Heroku zurück
Kompilieren Sie Java und führen Sie es in der Befehlszeile aus
Umweltbauweise und Fehlerbehebung zum Zeitpunkt der gemeinsamen Entwicklung (Schienen, Docker und Github)
So installieren Sie Docker in der lokalen Umgebung einer vorhandenen Rails-App [Rails 6 / MySQL 8]
Ein Memo zum Ausführen von Azure-Funktionen × Node.js × Typescript mit Docker in der lokalen virtuellen Umgebung und zum Debuggen von VSCode
SSL in der lokalen Umgebung von Docker / Rails / Puma
Aufbau der Rails Docker-Umgebung
Bis Sie Quarkus ausführen und Docker-Image auf Amazon ECS ausführen
Installieren Sie Docker und Docker-Compose in kürzester Zeit auf Ubuntu
Erstellen Sie eine Entwicklungsumgebung für Rails-Anwendungen mit Docker [Docker, Rails, Puma, Nginx, MySQL]
Erstellen Sie mit Docker eine Umgebung für Rails5 und postgresql, damit auch pgadmin verwendet werden kann
Organisieren Sie die Kommunikation in einer Umgebung, in der verschiedene Ressourcen auf dem Hostcomputer und dem Docker-Container verwendet werden