Shellphase hinzufügen
Mit einer Shellphase können Sie benutzerdefinierte Befehle in der Deployment-Pipeline ausführen. Diese Phase kann zu jedem Zeitpunkt in der Deployment-Pipeline hinzugefügt werden.
Sie müssen eine YAML-Datei mit der Befehlsspezifikation vorbereiten, die alle Schritte enthält, die Sie während des Deployments ausführen möchten. Die Befehlsspezifikation wird auf dem Host einer Containerinstanz im ausgewählten Compartment und Subnetz Ihres Mandanten ausgeführt. Sie haben die Möglichkeit, vor dem Deployment eine andere Instanzkonfiguration auszuwählen. Siehe Laufzeitdetails für Shell-Containerimage. Wenn Sie die Deployment-Pipeline ausführen, werden die in der Befehlsspezifikation definierten Schritte in der Pipelineausgabe und den Logs angezeigt. Die Syntax und Beispiele für die Befehlsspezifikation finden Sie unter Befehlsspezifikation.
Hauptvorteile beim Hinzufügen einer Shellphase
- Automatisieren Sie Deployments auf OCI-Plattformen wie Service-Mesh und Containerinstanzen mit der OCI-CLI und anderen vorinstallierten Tools. Siehe Laufzeitdetails für Shell-Containerimage.
Die OCI-CLI wird vorab authentifiziert, um den Pipeline-Resource Principal für den Zugriff auf OCI-Ressourcen zu verwenden.
- Führen Sie eine Migration des Datenbankschemas mit Befehlszeilentools wie Oracle SQL Developer Command Line (SQLcl) aus.
- Verwenden Sie Pipelineparameter, indem Sie sie in der Spezifikation referenzieren. Ersetzen Sie außerdem Parameter und Variablen während der Deployment-Ausführung.
- Führen Sie Integrationstests für Artefakte aus, bevor Sie sie in der Produktionsumgebung bereitstellen.
- Passen Sie den DevOps-Workflow an. Beispiel: Sie können warten, bis einige Ressourcen bereit sind, bevor die Pipeline zusätzliche Ressourcen bereitstellt.
Bevor Sie die Pipeline erstellen, benötigen Sie ein DevOps-Projekt und ein Artefakt der Befehlsspezifikation. Artefakte können inline definiert oder in der Artefakt-Registry gespeichert werden.
- Öffnen Sie das Navigationsmenü, und klicken Sie auf Entwicklerservices. Klicken Sie unter DevOps auf Projekte.
- Wählen Sie ein Projekt aus, und klicken Sie auf Pipeline erstellen.
- Geben Sie einen Namen und eine Beschreibung für die Pipeline ein. Das Hinzufügen einer Beschreibung ist optional.
- Wählen Sie unter Pipelinetyp die Option Deployment-Pipeline erstellen aus.
- Klicken Sie auf Pipeline erstellen.
- Um der neuen Pipeline eine Phase hinzuzufügen, klicken Sie auf das Plussymbol, und wählen Sie Phase hinzufügen aus.
- Wählen Sie Integrationen - Shell aus, und klicken Sie auf Weiter.
- Geben Sie einen Namen und eine optionale Beschreibung für die Phase ein.
- Klicken Sie auf Artefakt auswählen, und wählen Sie das verfügbare Artefakt zur Befehlsspezifikation aus, das Sie bereitstellen möchten.
-
Wählen Sie das Compartment aus, um die Containerinstanz zu erstellen, in der die Spezifikation ausgeführt wird.
Sie können das angezeigte Standard-Compartment beibehalten.
- Wählen Sie eine Availability-Domain aus.
-
Wählen Sie eine Ausprägung für die Containerinstanz aus den angegebenen Optionen aus. Sie können auch die Anzahl der OCPUs und die Arbeitsspeicherkapazität für die Instanz auswählen.
Die Gebühren für die Containerinstanz werden (abhängig von der ausgewählten Compute-Ausprägung) während des Deployments auf Grundlage des Preismodells für Containerinstanzen berechnet. Siehe Containerinstanzen - Preise.
-
Wählen Sie ein virtuelles Cloud-Netzwerk (VCN) und ein regionales Subnetz im Mandanten aus. Sie können ein öffentliches oder privates Subnetz auswählen.
Bei der Ausführung des Befehls wird eine virtuelle Netzwerkschnittstellenkarte (VNIC) im ausgewählten Subnetz erstellt. Stellen Sie sicher, dass das Subnetz über einen Netzwerkpfad zur OCI Container Registry verfügt. Wenn ein Befehl andere OCI-Ressourcen verwaltet, muss dieser Vorgang auch ausgeführt werden, um sicherzustellen, dass sowohl der Netzwerkpfad als auch die Policy korrekt eingerichtet sind.
- (Optional) Um den Zugriff auf Ihr VCN einzuschränken, können Sie Netzwerksicherheitsgruppen (NSGs) in Ihren VCNs auswählen.
- (Optional) Geben Sie einen Timeoutwert (in Sekunden) für die Phase ein.
-
- (Optional) Um der Pipeline Tags hinzuzufügen, klicken Sie auf Taggingoptionen anzeigen. Tagging ist ein Metadatensystem, mit dem Sie die Ressourcen in Ihrem Mandanten organisieren und verfolgen können.
Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügen, sind Sie auch berechtigt, Freiformtags hinzuzufügen.
Um ein definiertes Tag hinzuzufügen, benötigen Sie Berechtigungen zum Verwenden des Tag-Namespace.
Weitere Informationen finden Sie unter Ressourcentags.
- Um der Pipeline die Phase hinzuzufügen, klicken Sie auf Hinzufügen.
Eine Phasenvorschau enthält einen Snapshot der Konfiguration.
Fügen Sie der Pipeline bei Bedarf weitere Phasen sequenziell oder parallel hinzu. Um die Build-Ausgabe in der Zielumgebung bereitzustellen, führen Sie die Deployment-Pipeline aus. Um ein Deployment in der Build-Pipeline automatisch auszulösen, können Sie der Build-Pipeline eine Phase "Deployment auslösen" hinzufügen.
Um eine Deployment-Pipeline zu erstellen, führen Sie den Befehl
create
aus:oci devops deploy-pipeline create --project-id
Um eine Shellphase zu erstellen, führen Sie den Befehl
create-shell-stage
aus:oci devops deploy-stage create-shell-stage
Erforderliche Parameter für den Befehl
create-shell-stage
:--pipeline-id
--stage-predecessor-collection
--command-spec-artifact-id
--container-config
So rufen Sie alle Befehle für
deploy-pipeline
unddeploy-stage
ab:oci devops deploy-pipeline -h
oci devops deploy-stage -h
So erhalten Sie Hilfe für den Befehl
create-shell-stage
:oci devops deploy-stage create-shell-stage -h
Um eine Deployment-Pipeline zu erstellen, verwenden Sie den Vorgang
CreateDeployPipeline
.Um der Pipeline eine Shellphase hinzuzufügen, verwenden Sie den Vorgang
CreateDeployStage
. Geben Sie für das AttributdeployStageType
den WertSHELL
an.