Als DevOps-Administrator oder -Entwickler können Sie benutzerdefinierte Skripts erstellen, die die Funktion von Code Stream erweitern. Mit Ihrem Skript können Sie Code Stream in Ihre eigenen CI-Tools (Continuous Integration), CD-Tools (Continuous Delivery) und APIs integrieren, die Ihre Anwendungen erstellen, testen und bereitstellen. Benutzerdefinierte Skripts sind besonders nützlich, wenn Sie Ihre Anwendungs-APIs nicht öffentlich verfügbar machen.
Ihr benutzerdefiniertes Skript kann fast alles tun, was Sie für die Integration in Ihre Build-, Test-und Bereitstellungstools benötigen. Beispielsweise kann es den Arbeitsbereich in Ihrer Pipeline dazu nutzen, CI-Aufgaben zum Erstellen und Testen Ihrer Anwendung und CD-Aufgaben zum Bereitstellen der Anwendung zu unterstützen. Es kann eine Meldung an Slack senden, wenn eine Pipeline abgeschlossen ist, und vieles mehr.
Sie schreiben Ihr benutzerdefiniertes Skript in einer der unterstützten Sprachen. Sie nehmen Ihre Geschäftslogik im Skript auf und definieren Ein- und Ausgaben. Ausgabetypen können Zahl, Zeichenfolge, Text und Kennwort enthalten. Sie können mehrere Versionen eines benutzerdefinierten Skripts mit unterschiedlicher Geschäftslogik, Eingaben und Ausgaben erstellen.
In der Pipeline wurde eine Version des Skripts in einer benutzerdefinierten Aufgabe ausgeführt. Die von Ihnen erstellten Skripts befinden sich in Ihrer Code Stream-Instanz.
Wenn eine Pipeline eine benutzerdefinierte Integration verwendet und Sie versuchen, die benutzerdefinierte Integration zu löschen, wird eine Fehlermeldung angezeigt, die besagt, dass Sie sie nicht löschen können.
Beim Löschen einer benutzerdefinierten Integration werden alle Versionen des benutzerdefinierten Skripts entfernt. Wenn Sie über eine vorhandene Pipeline mit einer benutzerdefinierten Aufgabe verfügen, die eine beliebige Version des Skripts verwendet, schlägt diese Pipeline fehl. Damit vorhandene Pipelines nicht fehlschlagen, können Sie die nicht mehr zu verwendende Version des Skripts als veraltet einstufen und zurückziehen. Wenn diese Version von keiner Pipeline verwendet wird, können Sie sie löschen.
Vorgehensweise... | Weitere Informationen zu dieser Aktion... |
---|---|
Hinzufügen einer benutzerdefinierten Aufgabe zu Ihrer Pipeline. |
Die benutzerdefinierte Aufgabe:
|
Auswählen Ihres Skripts in der benutzerdefinierten Aufgabe. |
Sie deklarieren die Eingabe- und Ausgabeeigenschaften im Skript. |
Speichern, Aktivieren und Ausführen Ihrer Pipeline. |
Bei Ausführung der Pipeline ruft die benutzerdefinierte Aufgabe die Version des angegebenen Skripts auf und führt die darin enthaltene Geschäftslogik aus, die von Ihrem Build-, Test- und Bereitstellungstool in Code Stream integriert wird. |
Anzeigen der Ausführungen nach dem Ausführen Ihrer Pipeline. |
Vergewissern Sie sich, dass die Pipeline die erwarteten Ergebnisse bereitgestellt hat. |
Wenn Sie eine benutzerdefinierte Aufgabe verwenden, die eine Version der benutzerdefinierten Integration aufruft, können Sie benutzerdefinierte Umgebungsvariablen als Name/Wert-Paare auf der Registerkarte Arbeitsbereich der Pipeline einbeziehen. Wenn das Builder-Image den Arbeitsbereichscontainer erstellt, der die CI-Aufgabe ausführt und Ihr Image bereitstellt, übergibt Code Stream die Umgebungsvariablen an diesen Container.
Beispiel: Wenn Ihre Code Stream-Instanz einen Web-Proxy benötigt und Sie einen Docker-Host zum Erstellen eines Containers für eine benutzerdefinierte Integration verwenden, führt Code Stream die Pipeline aus und übergibt die Variablen der Web-Proxy-Einstellungen an diesen Container.
Name | Wert |
---|---|
HTTPS_PROXY | http://10.0.0.255:1234 |
https_proxy | http://10.0.0.255:1234 |
NO_PROXY | 10.0.0.32, *.dept.vsphere.local |
no_proxy | 10.0.0.32, *.dept.vsphere.local |
HTTP_PROXY | http://10.0.0.254:1234 |
http_proxy | http://10.0.0.254:1234 |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
Name/Wert-Paare werden auf der Benutzeroberfläche folgendermaßen angezeigt:
In diesem Beispiel wird eine benutzerdefinierte Integration erstellt, die Code Stream mit Ihrer Slack-Instanz verbindet und eine Nachricht an einen Slack-Kanal sendet.
Voraussetzungen
- Um Ihr benutzerdefiniertes Skript zu schreiben, stellen Sie sicher, dass Sie über eine der folgenden Sprachen verfügen: Python 2, Python 3, Node.js oder eine der folgenden Shell-Sprachen: Bash, sh oder zsh.
- Generieren Sie mithilfe der installierten Node.js- oder Python-Laufzeit ein Container-Image.
Prozedur
Ergebnisse
Herzlichen Glückwunsch! Sie haben ein benutzerdefiniertes Integrationsskript erstellt, das Code Stream mit Ihrer Slack-Instanz verbindet und eine Nachricht an einen Slack-Kanal sendet.
Nächste Maßnahme
Erstellen Sie weiterhin benutzerdefinierte Integrationen, um die Verwendung benutzerdefinierter Aufgaben in Ihren Pipelines zu unterstützen, sodass Sie die Funktion von Code Stream in der Automatisierung des Lebenszyklus Ihrer Softwareversion erweitern können.