Wie konfiguriere ich einen Jenkins-Job, um die Bereitstellung auf einen bestimmten Server auszurichten?

Wie konfiguriere ich einen Jenkins-Job, um die Bereitstellung auf einen bestimmten Server auszurichten?

Ich verwende zwei CentOS-Server. Ich verwende kein Code-Repository. Wenn ich in Jenkins auf „Neues Element“ klicke, sehe ich keine Stelle, an der ich den Zielserver eingeben kann. Ich erwarte eine Stelle, an der ich einen Zielserver für einen bestimmten Build konfigurieren kann (z. B. um einen Bash-Befehl auszuführen oder eine Datei vom Jenkins-Server auf den Zielserver zu übertragen). Da Jenkins auf der Linux-Seite als Jenkins-Benutzer ausgeführt wird, kann es nicht als Root per SSH zugreifen. Ich möchte Root sein und einen Befehl ausführen, nachdem ich eine Datei vom Linux-Server übertragen habe, der Jenkins unterstützt. Ich könnte dies mit nativen Shell-Befehlen in den Build-Schritten „Neues Element“ von Jenkins tun. Für solche Befehle gibt es ein Freitextfeld. Aber ich weiß nicht, wie ich interaktiv auf die Kennwortabfrage antworten kann.

Wo konfiguriere ich den Zielserver einer bestimmten Bereitstellung?

Kann ich das Root-Passwort fest in den Jenkins-Job codieren? Wenn ja, wie mache ich das? Ich möchte sshpass nicht installieren.

Welche Plug-Ins sind außer dem Jenkins-Kern erforderlich, um Dateien von einem Linux-Server auf einem anderen Linux-Server bereitzustellen?

Antwort1

In Jenkins verwenden Sie Labels, um zu definieren, wo ein Projekt erstellt werden kann. Sobald Sie ein neues Element erstellen, sehen Sie (in der Jobkonfiguration) ein Kontrollkästchen mit dem Namen „Einschränken, wo dieses Projekt ausgeführt werden kann“. Hier können Sie entweder den Namen des Slave-Knotens verwenden (z. B. slave4.mycompany) oder ein Label erstellen, das ein Container für mehrere Slaves ist. Wenn dieses Label richtig ausgefüllt ist, wird dieser Job immer auf dem angegebenen Slave-Knoten erstellt.

Wenn Sie mehr Funktionen benötigen, probieren Sie das NodeLabel-Parameter-Plugin (nodelabelparameter) aus. Sie können es unter „Jenkins verwalten“ > „Plugins verwalten“ > „Verfügbar“ installieren.

Um zu ermitteln, auf welchem ​​Knoten Sie sich während des Builds befinden, können Sie beispielsweise persistente Umgebungsvariablen auf beiden Build-Slaves manuell festlegen, z. B. $SLAVENAME, das „buildslave1“ zurückgibt, oder den Linux-Befehl „hostname“ in Ihren Skripten verwenden, um den aktuellen Kontext zu ermitteln und basierend auf dieser Ausgabe zu entscheiden, wie Sie fortfahren.

verwandte Informationen