DevOps - Überblick

Der Oracle Cloud Infrastructure (OCI) DevOps-Service ist eine End-to-End-Plattform für kontinuierliche Integration und Bereitstellung (CI/CD) für Entwickler.

Mit diesem Service können DevOps-Engineers Software und Anwendungen in Oracle Cloud ganz einfach erstellen, testen und bereitstellen. Die DevOps-Build- und Deployment-Pipelines reduzieren Fehler aufgrund von Änderungen und reduzieren die Zeit, die Kunden für das Erstellen und Bereitstellen von Releases aufwenden. Der Service stellt auch private Git-Repositorys zur Speicherung Ihres Codes bereit und unterstützt Verbindungen zu externen Code-Repositorys.

Mit dem DevOps-Service können Sie folgende Aufgaben ausführen:

  • Erstellen Sie private Code-Repositorys zum Speichern und Verwalten von Quellcode.
  • Stellen Sie eine Verbindung zu externen Repositorys wie GitHub, GitLab, Bitbucket Cloud, Visual Builder Studio, Bitbucket Server und GitLab Server her.
  • Erstellen und testen Sie Ihre neuesten Änderungen in einer Build-Pipeline mit einem vom Service verwalteten Build Runner.
  • Richten Sie einen Trigger ein, um die Build-Pipeline automatisch aus einer Commit- oder Pull-Anforderung für den Quellcode auszuführen. Führen Sie optional eine Deployment-Pipeline nach der erfolgreichen Build-Ausführung für eine vollständige CI/CD-Automatisierung aus.
  • Orchestrieren Sie das Software-Deployment regionsübergreifend in OCI-Plattformen wie Kubernetes Engine (OKE), Compute-Instanzen und Functions.
  • Vermeiden Sie Ausfallzeiten bei Deployments mithilfe der Blue/Green- und der Canary-Deployment-Strategie.
  • Automatisieren Sie die komplexen Aufgaben bei der Aktualisierung von Anwendungen. Durch Automatisierung wird die Wahrscheinlichkeit menschlicher Fehler reduziert, die zu einer Sicherheitslücke führen können.
  • Verbessern Sie die Sicherheit, und reduzieren Sie die Risiken bei der Bereitstellung. Da DevOps eine schnellere Softwarebereitstellung ermöglicht, können Sicherheitsbugs durch den Rollout eines Fix schnell behoben werden.

DevOps-Workflow

Unabhängig davon, ob Sie Workloads zu OCI (von On Premise oder anderen Clouds) migrieren oder neue Anwendungen in OCI entwickeln, können Sie den DevOps-Service verwenden, um den Lebenszyklus der Softwarebereitstellung zu vereinfachen.

Sie können mit DevOps erstellen, testen und bereitstellen, indem Sie die Oracle Cloud-Konsole, die REST-API und die CLI verwenden. Siehe Auf DevOps zugreifen.

Informationen zu den ersten Schritten mit dem DevOps-Service finden Sie unter Erste Schritte mit DevOps.

DevOps-Konzepte

Lernen Sie die wichtigsten Begriffe im Zusammenhang mit dem DevOps-Service kennen.

DevOps-Projekt
Eine logische Gruppierung von DevOps-Ressourcen, die zur Implementierung eines CI/CD-Workflows erforderlich sind. DevOps-Ressourcen können Artefakte, Build-Pipelines, Deployment-Pipelines, externe Verbindungen, Trigger und Umgebungen sein.
Umgebung
Eine Referenz auf die Compute-Ressourcen, in denen Artefakte bereitgestellt werden. Eine Umgebung kann eine Referenz auf eine Funktionsanwendung, eine Gruppe von Compute-Instanzen oder ein Kubernetes-Engine-(OKE-)Cluster sein.
Instanzgruppe
Eine Gruppe von Compute-Hosts. Jede Instanzgruppe kann nur Compute-Hosts aus jeweils einer Region enthalten.
Artefakt
Eine Sammlung von Binärdateien und Deployment-Manifesten, die in der Ziel-Deployment-Umgebung bereitgestellt werden. DevOps-Artefakte können ein Containerimage, die Deployment-Konfiguration einer Instanzgruppe, ein Kubernetes-Manifest oder ein generisches Artefakt sein. Artefakte können in OCI-Repositorys gehostet werden: Container Registry und Artifact Registry.
Deployment-Konfigurationsartefakt
Definiert die Artefakte, die in die Instanz heruntergeladen werden sollen, sowie den Speicherort, an den die Artefakte kopiert werden müssen. Die Konfigurationsdatei gibt auch die Befehlssequenz für das Deployment an.
Code-Repository
Private Git-Repositorys, die vom DevOps-Service gehostet werden. Sie können Quellcode mit den DevOps-Code-Repositorys speichern, verwalten und entwickeln.
Externe Verbindung
Definiert die Autorisierung, die für die Verbindung mit externen Repositorys erforderlich ist. DevOps unterstützt Verbindungen zu den folgenden Repositorys: GitHub, GitLab, Bitbucket Cloud, Bitbucket Server und GitLab Server.
Phase
Ein einzelner Schritt in der Pipeline. Der DevOps-Service umfasst vordefinierte Phasen, die in einer Build- oder Deployment-Pipeline verwendet werden.
Build-Pipeline
Definiert eine Gruppe von Phasen für den Build-Prozess: Softwareartefakte erstellen, testen und kompilieren, Artefakte in OCI-Repositorys bereitstellen und optional ein Deployment auslösen.
Build-Spezifikation
Enthält Build-Schritte und Anweisungen, die durch den vom Service verwalteten Build Runner ausgeführt werden.
Deployment-Pipeline
Eine Sequenz von Schritten für das Deployment einer Gruppe von Artefakten in einer Zielumgebung. Eine Deployment-Pipeline enthält Phasen, die sequenziell oder parallel ausgeführt werden.
Rollback
Eine Möglichkeit, beim Deployment erkannte Probleme zu verwalten, beispielsweise durch das Release einer vorherigen erfolgreich bereitgestellten Version der Software.
Trigger
Eine DevOps-Ressource, mit der eingehende Ereignisse aus einem Quellcode-Repository gefiltert und eine Aktion ausgelöst wird, um eine Build-Ausführung mit einem übereinstimmenden eingehenden Commit zu starten.

Trigger bezieht sich auch auf die Deployment-Pipelinephase, mit der der Start eines Deployments ausgelöst wird.

Deployment
Eine einzelne Ausführung einer Deployment-Pipeline. Ein Deployment enthält den Status aller Phasen, die in einer Deployment-Pipeline ausgeführt werden.
Arbeitsanforderung
Eine Methode, um eine asynchrone aktive Aufgabe für ein DevOps-Projekt zu verfolgen.

Auf DevOps zugreifen

Sie können über die Konsole (eine browserbasierte Schnittstelle), die Oracle Cloud Infrastructure-CLI oder REST-APIs auf DevOps zugreifen.

In dieser Dokumentation werden Anweisungen für alle drei Zugriffsmethoden bereitgestellt.

  • Um die Oracle Cloud-Konsole verwenden zu können, benötigen Sie einen Oracle Cloud Infrastructure-(OCI-)Account (Benutzer, Kennwort und Mandant). Sie müssen außerdem einen unterstützten Browser verwenden. Weitere Informationen finden Sie unter Sicherheitszugangsdaten.
    Hinweis

    Geben Sie keine vertraulichen Informationen ein, wenn Sie Ihren Cloud-Ressourcen Beschreibungen, Tags oder Anzeigenamen über die Konsole, die API oder die CLI zuweisen. Dies gilt beim Erstellen oder Bearbeiten von Projektressourcen wie Umgebungen und Pipelines.
  • Um die OCI-CLI oder REST-APIs zu verwenden, können Sie Ihre Umgebung entsprechend einrichten oder Oracle Cloud Infrastructure Cloud Shell verwenden.

Wenn Sie eine Aktion ausführen und eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen Sie den Administrator, welcher Zugriffstyp Ihnen erteilt wurde.

Informationen zu den ersten Schritten mit dem DevOps-Service finden Sie unter Erste Schritte mit DevOps.

Authentifizierung und Autorisierung

Jeder Service in Oracle Cloud Infrastructure kann zur Authentifizierung und Autorisierung für alle Schnittstellen (Konsole, SDK oder CLI und REST-API) in IAM integriert werden.

Ein Administrator in Ihrer Organisation muss Gruppen, Compartments  und Policys  einrichten, die den Zugriffstyp sowie den Zugriff der Benutzer auf Services und Ressourcen steuern. Mit Policys können Sie beispielsweise steuern, wer Benutzer, Gruppen und Compartments erstellen oder wer Repositorys und Artefakte erstellen und verwalten kann.

Wenn Sie ein regulärer Benutzer (kein Administrator) sind, der die Oracle Cloud Infrastructure-Ressourcen verwenden muss, deren Eigentümer Ihr Unternehmen ist, muss Ihr Administrator eine Benutzer-ID für Sie einrichten. Der Administrator kann Ihnen sagen, welche Compartments Sie verwenden müssen.

Regionen und Availability-Domains

DevOps ist in allen kommerziellen Regionen von Oracle Cloud Infrastructure verfügbar. Unter Regionen und Availability-Domains finden Sie eine Liste der verfügbaren Regionen für Oracle Cloud Infrastructure sowie zugehörige Standorte, Regions-IDs, Regionsschlüssel und Availability-Domains.

Ressourcen-IDs

DevOps-Ressourcen verfügen wie die meisten Ressourcentypen in Oracle Cloud Infrastructure über eine eindeutige, von Oracle zugewiesene ID, die als Oracle Cloud-ID (OCID) bezeichnet wird.

Informationen zum OCID-Format und zu weiteren Möglichkeiten zur Identifizierung Ihrer Ressourcen finden Sie unter Ressourcen-IDs.

Limits

Machen Sie sich mit den DevOps-Servicelimits für Ihre Region vertraut.

Ein Servicelimit ist die Quota oder die zulässige Nutzung für eine Ressource.

Ressource Kurzname des Limits Jährliche Universal Credits Pay-as-you-go Beschreibung
Projekte devops-project-count 1000 1000 Maximale Anzahl der in DevOps verfügbaren Projekte.
Pipelines build-pipeline-count 1000 1000 Maximale Anzahl der in DevOps verfügbaren Build-Pipelines.
Pipelines stages-per-build-pipeline-count 100 100 Maximale Anzahl der in DevOps verfügbaren Phasen pro Build-Pipeline.
Pipelines deployment-pipeline-count 1000 1000 Maximale Anzahl der in DevOps verfügbaren Pipelines.
Pipelines deployment-stages-per-pipeline-count 100 100 Maximale Anzahl der in DevOps verfügbaren Phasen pro Deployment-Pipeline.
Build-Ausführungen concurrent-build-run-count 30 30 Maximale Anzahl der in DevOps verfügbaren nebenläufigen Build-Ausführungen.
Build-Ausführungen concurrent-build-runner-count 30 30 Maximale Anzahl der nebenläufigen vom Service bereitgestellten Build Runner, die in DevOps verfügbar sind.
Deployments concurrent-deployment-count 100 100 Maximale Anzahl der in DevOps verfügbaren nebenläufigen Build-Ausführungen.
Umgebungen devops-environment-count 3000 3000 Maximale Anzahl der in DevOps verfügbaren Umgebungen.
Artefakte devops-artifact-count 10.000 10000 (Pay-as-you-go)

1000 (Testversion)

Maximale Anzahl der in DevOps verfügbaren Artefakte.
Trigger trigger-count 100 100 Maximale Anzahl der in DevOps zulässigen Trigger.
Externe Verbindungen external-connection-count 100 100 Maximale Anzahl der in DevOps zulässigen externen Verbindungen.
Code-Repositorys code-repository-count 1000 1000 Maximale Anzahl der pro Region pro Mandant zulässigen Repositorys.
Code-Repositorys code-repository-size-limit-mb 1024 1024 Maximale Größe eines Repositorys in MB.
Code-Repositorys receive-pack-size-limit-mb 1024 1024 Maximale Größe einer Paketdatei in MB.
Pull-Anforderungen Pull-Anforderung - Anzahl pro Monat 2000 2000 Maximale Anzahl der Pull-Anforderungen, die in einem Monat erstellt wurden.

So prüfen Sie die Limits für DevOps:

  1. Öffnen Sie in der Konsole das Navigationsmenü, und klicken Sie auf Governance und Administration. Klicken Sie unter Governance auf Limits, Quota und Nutzung.
  2. Filtern Sie nach den folgenden Werten:
    • Service: DevOps
    • Geltungsbereich: <your-region>
    • Ressource:
      • Maximale Anzahl der nebenläufigen Deployments
      • Maximale Anzahl der Deployment-Pipelines
      • Maximale Anzahl der Phasen pro Deployment-Pipeline
      • Maximale Anzahl der Deployment-Artefakte
      • Maximale Anzahl der Umgebungen
      • Maximale Anzahl der DevOps-Projekte
      • Maximale Anzahl der Build-Pipelines
      • Maximale Anzahl der Phasen pro Build-Pipeline
      • Maximale Anzahl der nebenläufigen Build-Ausführungen
      • Maximale Anzahl der nebenläufigen vom Service bereitgestellten Build Runner
      • Maximale Anzahl der Trigger
      • Maximale Anzahl der externen Verbindungen
      • Gesamtanzahl der pro Region pro Mandant zulässigen Repositorys
      • Gesamtgröße eines Repositorys in MB
      • Gesamtgröße einer Paketdatei in MB
    • Compartment: <your-tenancy-namespace > (root)

So erhöhen Sie die Servicelimits:

  1. Öffnen Sie in der Konsole das Navigationsmenü, und klicken Sie auf Governance und Administration. Klicken Sie unter Governance auf Limits, Quota und Nutzung.
  2. Klicken Sie auf den Link Erhöhung eines Servicelimits beantragen. Nur Administratoren können den Antrag stellen.

Weitere Informationen finden Sie unter Servicelimits.