2017-03-08 2 views
5

Ich verwende Hosted Gitlab, um meine Git-Repositories zu hosten, und in jüngerer Zeit benutze ich es, um PHP- und Java-Anwendungen auf Servern zu erstellen/bereitzustellen.Gitlab CI Wie stelle ich eine Anwendung über SSH bereit

Ich möchte, sobald ein Build abgeschlossen ist, die Anwendung mit SSH bereitstellen. Manchmal lädt dies den Inhalt des endgültigen Builds (PHP-Dateien) einfach per SSH auf einen Server hoch, oder zu einem anderen Zeitpunkt lädt er eine kompilierte .jar-Datei hoch und führt dann einen Befehl auf dem Remote-Server aus, um einen Dienst neu zu starten.

Ich habe meinen eigenen Docker-Container als Build-Umgebung eingerichtet. Dazu gehören Dinge wie Java, PHP, Composer und Maven, die ich für Builds benötige. Ich verwende dieses Image, um Builds auszuführen.

Was ich gerne wissen würde, ist, wie kann ich SSH in einen externen Server in anderen, um Deployment-Befehle, die ich in meiner gitlab-ci.yaml Datei angeben kann durchzuführen?

Antwort

17

Sie können Ihren SSH-Schlüssel als geheime Variable in gitlab-ci.yaml speichern und während Ihres Builds verwenden, um SSH-Befehle auszuführen. Weitere Informationen finden Sie in unserer Dokumentation here.

Sobald Sie SSH-Zugriff haben, können Sie dann Befehle wie rsync und scp verwenden, um Dateien auf Ihren Server zu kopieren. Ich habe ein Beispiel dafür in einem anderen Beitrag here gefunden, den Sie als Referenz verwenden können.

Bitte lassen Sie mich wissen, wie es dir geht.

Danke,

Adam

Service Engineer @ Gitlab

Verwandte Themen