2016-04-05 5 views
0

I & Fehler mehrere Stunden im Netz und versuchen gesucht, aber ich verstehe es nicht:Wie in cloudfoundry App privaten BitBucket Repo zuzugreifen (vor Komponist SSH-Schlüssel bereitstellen)

Wie kann ich privat BitBucket verwenden Repos in der Datei composer.json für eine App, die in eine Cloud Foundry-Umgebung verschoben wurde?

"repositories": [ 
    { 
    "type": "git", 
    "url": "[email protected]:blabla/blabla.git", 
    "reference": "package" 
    } 
] 

Problem ist, dass ich startet öffentliche Authentifizierung (SSH-Schlüssel), bevor der Komponist in der Cloud Foundry Inbetriebnahme ist die Installation erforderlich ist.

Der Ordner .ssh muss $ HOME /../. Ssh sein, was außerhalb des App-Ordners liegt, sodass ich die Tasten nicht direkt drücken kann. Ich habe festgestellt, dass ich mit Bash-Skripten in .profile.d einige "mv" -Befehle ausführen kann, aber diese Bash-Skripte werden NACH dem Composer ausgeführt.

mkdir ./../.ssh 
mv ./preprocess/ssh/id_rsa ./../.ssh/id_rsa 
mv ./preprocess/ssh/id_rsa.pub ./../.ssh/id_rsa.pub 
mv ./preprocess/ssh/known_hosts ./../.ssh/known_hosts 
chmod 600 ./../.ssh/id_rsa 
chmod 600 ./../.ssh/id_rsa.pub 
chmod 644 ./../.ssh/known_hosts 
chmod 700 ./../.ssh 

Es gibt eine Pre-Install-cmd für Komponisten selbst, sondern auch dann, die Schlüssel erkannt werden nicht.

"scripts": { 
    "pre-install-cmd": "sh ./preprocess/pre-install-cmd.sh" 
} 

Wie wird das richtig gemacht? Gibt es spezielle Hook-Skripte? Muss ich etwas nach dem Platzieren des SSH-Ordners hinzufügen?

Vielen Dank für Ihre Hilfe, um Ihre privaten SSH-Schlüssel in ein Git-Repo und in den Händen von 3rd-Party-Anbieter

Antwort

1

Putting (wenn die App CF Upload) ist eine schlechte Idee - tun Sie es nicht!

Der php-buildpack, die verwendet wird, wenn PHP-Anwendungen zu CF schieben unterstützt Komponisten mit privaten Registern in einer sicheren Art und Weise, aber leider nur für Github zur Zeit:

Es funktioniert durch eine Github OAuth Key zuerst zu erhalten und sehen sie dem stager mit cf set-env Bereitstellung https://github.com/cloudfoundry/php-buildpack/blob/master/docs/composer.md#supply-a-github-token

Bitbucket bietet auch OAuth-Token, aber die Unterstützung von Komponist kam vor ein paar Tagen gerade: https://github.com/composer/composer/pull/5055 So ist es nicht von der php-buildpack unterstützt noch nicht, aber ich nehme an, es wird bald.

Sie sind nicht die einzige mit diesem Problem: How to access private BitBucket repo in cloudfoundry app (Deploy ssh key before composer) - es ist über Heroku, sondern gilt auch für CF, da sie kompatible Buildpacks haben.

Lösung für jetzt: Wenn ich das Dokument richtig zu interpretieren, sollten Sie in der Lage sein, die Abhängigkeiten unter Verwendung composer install lokal zu verpacken und die ganze App mit Abhängigkeiten drücken: https://github.com/cloudfoundry/php-buildpack/blob/master/docs/composer.md#vendoring-dependencies

Verwandte Themen