2

Ich habe eine nodejs App erstellt und möchte sie nun in openshift bereitstellen. Ich möchte Github nicht verwenden, weil ich ein privates Repository erstellen sollte, was ich nicht kann. Auch ich kann 'rhc' nicht verwenden, da ich ein neuer Benutzer bin. Gibt es eine Möglichkeit, das zu tun? Ich kann kein Tutorial darüber finden.Wie kann ich meine nodejs-App ohne Verwendung von github in openshipt bereitstellen?

+0

Sie könnten immer nur während der Bereitstellung auf ein Git Repo zugreifen, dann löschen Sie das Repo direkt nach ... sehr unwahrscheinlich, dass jemand das Repo in der Zeit finden würde, die Sie benötigen, um es auf Ihre bereitgestellte Maschine zu ziehen. .just meine $ 0.02cents, wie ich in diesem mit "Codierungsprüfungen", und solange wir nicht die Daten leben auf GitHub, ein schnelles Drücken und ziehen und dann löschen ist ziemlich tief ... – natureminded

+0

Ich habe versucht, das zu tun https://stackoverflow.com/questions/44974670/why-i-cannot-deploy-my-app-from-github-repository-into-openshift?noredirect=1#comment76935481_44974670 aber wieder Fehler. – Joseph

Antwort

0

Gibt es einen anderen Code Repo, den Sie verwenden? SVN? Wenn SVN, können Sie Pipelines mit Jenkins verwenden.

Falls nicht, legen Sie die nodejs-App in einen Andock-Container und schieben Sie sie zum Andock-Hub.

3

Für OpenShift 3 können Sie eine Binäreingabequelle verwenden.

Zuerst erstellen Sie einen Binäreingang Build.

oc new-build --name myapp --strategy=source --binary --image-stream=nodejs:latest 

Starten Sie jetzt einen neuen Build und laden Sie den Quellcode aus dem aktuellen Verzeichnis.

oc start-build myapp --from-dir=. 

Sobald die Build abgeschlossen ist, stellen Sie das vom Build erstellt Bild.

oc new-app myapp 

Sie können den Dienst dann verfügbar machen.

oc expose svc/myapp 

Jedes Mal, wenn Sie eine Änderung vornehmen möchten, müssen Sie die gleiche oc start-build Befehl in dem Verzeichnis, in dem Quellcode laufen.

+0

Also brauche ich nicht git? – Joseph

+0

Mit dieser Methode können Sie nur von Ihrem lokalen Dateisystem aus pushen. Sie können also ein anderes Versionskontrollsystem verwenden, lokales Git, aber ohne ein gehostetes Git-Repository als Master zu verwenden, oder Sie können überhaupt kein Versionskontrollsystem verwenden. –

+0

Ich habe das versucht, aber wenn ich den ersten Befehl ausführen, bekomme ich: Fehler: Benutzer "Airp320" kann keine Imagestreams im Projekt "Standard" erstellen Fehler: Benutzer "Airp320" kann Buildconfigs im Projekt "Standard" – Joseph

0

Ich sehe nicht, dass jemand vorschlägt dies so tun, ich - Sie genauso gut Code aus gitlab bereitstellen können, pagure, bigbucket oder jeden anderen git Hosting-Service.

In der Tat können Sie sogar Ihren eigenen Git-Server in OpenShift betreiben.

oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/gitserver/gitserver-persistent.yaml 
oc env dc/git -p ALLOW_ANON_GIT_PULL=false 
oc policy add-role-to-user edit -z git 
oc get route # to see your git server URL 

Jetzt sollten Sie in der Lage sein, von diesem Server Push/Pull Ihre Openshift Benutzernamen und Token (auch alle anderen Benutzer, die Sie in das Projekt). Von buildconfigs und anderen pods können Sie auch einfach git als Hostnamen Ihres Git-Servers verwenden, da dieser auf die IP des service mit demselben Namen (wieder nur innerhalb desselben OpenShift-Projekts) auflösen sollte.

Lesen Sie die Vorlage YAML (die URL nach oc create) für weitere Optionen wie REQUIRE_GIT_AUTH.

Natürlich ist es gut, einen git mirror/backup woanders zu haben wie bei jedem anderen git-service.

HTH

P.S. Vergessen Sie zu sagen, Sie müssen einen OpenShift v3-Cluster selbst installieren oder OpenShift Online abonnieren (was leider eine Weile dauern kann).

Verwandte Themen