1

Wir haben mit CF über Heroku experimentiert und in einige Probleme gestartet. Einer von ihnen befasst sich mit dem Zugriff auf die Rails-Konsole in einer CF AI. Wir verwenden Pivotal des PWS und haben eine Reihe von Dingen versucht, einschließlich:Der beste Weg, um Rails-Konsole mit Cloud-Foundry zu verwenden

cd app; export HOME=$(pwd); source .profile.d/0_ruby.sh; rails c 

und

cd app; export HOME=$(pwd); source .profile.d/*.sh; rails c 

Beide, die betroffen sind oder verpassen und in der Regel nicht funktionieren.

Es scheint ein bisschen lächerlich, dass es so viel Arbeit ist, über CF auf die Rails-Konsole zuzugreifen. Ich habe das Gefühl, dass es einen besseren, schnelleren Weg geben muss.

Hat jemand irgendwelche Tipps?

Für alle, sagen wir cf ssh in sollte, hier ist was passiert:

[email protected]:~$ cd app 
[email protected]:~/app$ ls .profile.d/000_multi-supply.sh 0_ruby.sh 
[email protected]:~/app$ source .profile.d/0_ruby.sh 
[email protected]:~/app$ cd .. 
[email protected]:~$ rails c 
bash: rails: command not found 
[email protected]:~$ source app/.profile.d/000_multisupply.sh 
[email protected]:~$ rails c 
bash: rails: command not found 
+0

Nachdem Sie "cf ssh" in einen Anwendungscontainer kopiert haben, müssen Sie die 'profile.d' Skripts manuell eingeben (dies gilt für Cloud Foundry und nicht nur für PWS). Dies geschieht automatisch, wenn Ihre App ausgeführt wird. Wenn Sie dies manuell in Ihrer ssh-Sitzung ausführen, erhalten Sie dasselbe Env wie in Ihrer laufenden App. Danach sollten Sie Ruby & Rails Befehle ausführen können. Dies scheint für Sie nicht der Fall zu sein. Können Sie weiter ausführen, was passiert, wenn es nicht funktioniert? –

+0

Für was es wert ist, glaube ich, dass Sie die Rails-Konsole auch lokal ausführen können. Sehen Sie diesen Beitrag -> https://content.pivotal.io/blog/down-and-dirty-with-rails-on-cloud-foundry –

+0

@DanielMikusa nach SSHing in, schauen Sie: vcap @ 2f4663e4-f876-490c -65e2-a498: ~ $ CD-App vcap @ 2f4663e4-f876-490c-65e2-a498: ~/app $ ls .profile.d/ 000_multi-supply.sh 0_ruby.sh vcap @ 2f4663e4-f876-490c 65e2-a498: ~/app $ source .profile.d/0_ruby.sh vcap @ 2f4663e4-f876-490c-65e2-a498: ~/app $ cd .. vcap @ 2f4663e4-f876-490c-65e2-a498: ~ $ Schienen c bash: Schienen: Befehl nicht gefunden vcap @ 2f4663e4-f876-490c-65e2-a498: ~ $ Quelle app/.profile.d/000_multi-supply.sh vcap @ 2f4663e4-f876-490c-65e2 -a498: ~ $ rails c bash: rails: Befehl nicht gefunden – JoshL

Antwort

3

Ab schreibe, cf ssh my-app -t -c "/tmp/lifecycle/launcher /home/vcap/app 'rails c' ''" eine Rails-Konsole laufen zu feuern.

Dies führt SSH in den Container und verwendet den Lifecycle Launcher, der die Umgebung für Sie einrichtet, um den Befehl auszuführen.

Verwandte Themen