Rückgängigmachen einer Aktualisierung mit Hilfe der CLI

In diesem Tutorial erfahren Sie, wie Sie eine Bereitstellung mithilfe der Befehlszeilenschnittstelle zurücksetzen können. In diesem Tutorial lernen Sie, wie Sie Änderungen an einer verteilbaren Architekturkonfiguration in einem Projekt rückgängig machen können. Am Ende dieses Tutorials wird die Konfiguration Ihrer verteilbaren Architektur mit der letzten erfolgreich verteilten Version übereinstimmen.

Stellen Sie sich vor, Sie sind Softwareentwickler für das Unternehmen Example Corp. Ihr Infrastrukturarchitekt hat die Cloud-Automatisierung für Code Engine entdeckt und Ihr Cloud-Automatisierungsexperte hat sie so angepasst, dass sie Ihre Geschäftsanforderungen vollständig erfüllt. Sie haben diese angepasste Architektur mit der Bezeichnung Example Corp's infrastructure in zwei Regionen eingesetzt. Dann hat Ihr Cloud-Automatisierungsexperte eine neue Version von Example Corp's infrastructure veröffentlicht, und Sie haben Ihre laufenden Bereitstellungen auf die neueste Version aktualisiert. Vor kurzem hat Ihr Team einen Fehler in der Region us-south entdeckt. Der Fehler ist neu, daher möchten Sie die Bereitstellung für die Region us-south auf den vorherigen Stand zurücksetzen, da Sie wissen, dass diese Bereitstellung den Fehler nicht enthielt.

In diesem Tutorial wird ein fiktives Szenario verwendet, um Ihnen zu verdeutlichen, wie Sie bereitgestellte Änderungen an einer bereitstellbaren Architekturkonfiguration in Ihrem Projekt zurücksetzen können. Passen Sie beim Durcharbeiten des Tutorials jeden Schritt an die Bedürfnisse Ihres Unternehmens an.

Vorbereitende Schritte

  1. Erstellen Sie eine benutzerdefinierte einsatzfähige Architektur namens Example Corp's infrastructure und binden Sie sie in einen privaten Katalog namens Example Corp catalog ein.

  2. Stellen Sie die Infrastruktur von Example Corp in zwei Regionen bereit, indem Sie ein Projekt namens Example Corp infrastructure verwenden.

  3. Aktualisieren Sie die Infrastruktur von Example Corp mit einer neuen Version im privaten Katalog und fügen Sie zwei Datenbankoptionen hinzu, zwischen denen Ihre Benutzer wählen können. Validieren Sie die Version im privaten Katalog, damit die neue Version den Status Validated draft hat.

  4. Aktualisieren Sie Ihr Projekt, um die neueste Version von Example Corp's infrastructure zu verwenden, und stellen Sie die Änderungen bereit.

    Die neueste Version von Example Corp's infrastructure enthält Datenbankoptionen, die von Ihrem Example Corp infrastructure Projekt aus eingesetzt werden können. Die Durchführung dieses Tutorials hat keine Auswirkungen auf Ihr Projekt, außer auf die Konfiguration von example-corp-us-south. Bei Bedarf können Sie die anderen Konfigurationen in Ihrem Projekt, einschließlich aller Datenbanken, separat zurücksetzen.

  5. Installieren Sie die IBM Cloud CLI, um dieses Lernprogramm abzuschließen.

Suchen Sie die Projekt-ID, die Konfigurations-ID und die Version, zu der Sie zurückkehren möchten

Bevor Sie die CLI-Befehle ausführen können, um Ihre Änderungen an einer zuvor bereitgestellten Version rückgängig zu machen, benötigen Sie die ID der Konfiguration example-corp-us-south und die ID des Projekts Example Corp infrastructure, das die Konfiguration enthält.

Führen Sie die folgenden Befehle aus, um diese IDs und die Version mit Hilfe der CLI zu ermitteln:

  1. Melden Sie sich bei IBM Cloud an, indem Sie den folgenden ibmcloud login befehl. Wenn Sie mehrere Konten haben, werden Sie aufgefordert, das zu verwendende Konto auszuwählen:

    ibmcloud login \
        --sso
    

    Verwenden Sie die Option --sso, um sich über die Konsole anzumelden. Wenn Sie dies tun, öffnet sich die Konsole in einem Webbrowser, in dem Sie sich anmelden können. Anschließend wird ein Code generiert, den Sie in die CLI einfügen können.

  2. Suchen Sie die ID für das Projekt Example Corp infrastructure in Ihrem Konto, indem Sie den folgenden ibmcloud project list befehl:

    ibmcloud project list \
        --all-pages
    

    Verwenden Sie die Option --all-pages, um alle Projekte in Ihrem Konto abzurufen.

  3. Verwenden Sie die ID des Projekts Example Corp infrastructure und den Namen der Konfiguration, um die Konfigurations-ID zu finden. Führen Sie dazu den folgenden ibmcloud project configs befehl aus, um dies zu tun:

    ibmcloud project configs \
        --project-id <Example-Corp-infrastructure-project-id> \
        --all-pages
    
  4. Verwenden Sie die ID des Projekts Example Corp infrastructure und die ID der Konfiguration example-corp-us-south, um die Versionen dieser Konfiguration im Projekt zu finden. Führen Sie den folgenden ibmcloud project config-versions befehl aus:

    ibmcloud project config-versions \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id>
    

    Es sollten zwei Versionen der Konfiguration example-corp-us-south aufgeführt werden. Die zweite Version befindet sich im Zustand deployed, die erste Version im Zustand superseded. Die früheste Version ist die erste, die eingesetzt wurde. Diese Version ist diejenige, zu der Sie zurückkehren möchten.

Rufen Sie die Version ab, zu der Sie zurückkehren möchten

Da Sie nun die IDs und die Version haben, zu der Sie zurückkehren möchten, führen Sie den folgenden ibmcloud project config-version befehl aus, um die spezifische Version von example-corp-us-south abzurufen. Stellen Sie sicher, dass Sie den Parameter für die Rückgabe der Ausgabe im Format JSON angeben:

   ibmcloud project config-version \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id> \
        --version 1 \
        --output json

Kopieren Sie den Inhalt des Blocks definition in die Ausgabe JSON und speichern Sie ihn in einer Datei definition.json. Der Inhalt von definition umfasst die von Ihnen bereitgestellten Eingabewerte, die Berechtigung, die Sie verwendet haben, um dem Projekt Zugriff auf die Bereitstellung für Ihr Zielkonto zu gewähren, den Namen Ihrer Konfiguration und die Locator-ID für Example Corp's infrastructure, die die bereitstellbare Architektur im privaten Katalog identifiziert. Betrachten Sie es als einen Schnappschuss von Version 1 von example-corp-us-south mit allen Eingaben und Informationen, die Sie in Ihrem Projekt bereitgestellt haben, zum Beispiel:

{
    "authorizations": {},
    "compliance_profile": {},
    "description": "",
    "inputs": {
      "prefix": "us-south",
      "region": "us-south"
    },
    "locator_id": "<Example-Corp-catalog-locator-id>",
    "name": "example-corp-us-south",
    "environment_id": "<Example-Corp-infrastructure-dev-id>"
}

Aktualisieren Sie die Konfiguration, um die Definition der Vorgängerversion zu verwenden

Da Sie nun die Definition von Version 1 von example-corp-us-south haben, aktualisieren Sie die Konfiguration, um diese Definition zu verwenden. Damit wird example-corp-us-south so aktualisiert, wie Sie es bei der Bereitstellung von Version 1 konfiguriert haben. Führen Sie den folgenden ibmcloud project config-update befehl für example-corp-us-south aus:

ibmcloud project config-update \
     --project-id <Example-Corp-infrastructure-project-id> \
     --id <example-corp-us-south-id> \
     --definition "$(cat definition.json)"

Validieren, Genehmigen und Bereitstellen der Änderungen

Nun, da example-corp-us-south aktualisiert wurde, um die Definition für die erste Version der Konfiguration zu verwenden, ist es an der Zeit, die Änderungen zu validieren, zu genehmigen und bereitzustellen. Sie können dazu die Konsole verwenden oder die folgenden CLI-Befehle ausführen:

  1. Validieren Sie example-corp-us-south, indem Sie den folgenden ibmcloud project config-validate befehl:

    ibmcloud project config-validate \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id>
    
  2. Genehmigen Sie example-corp-us-south durch Ausführen des folgenden ibmcloud project config-approve befehl:

    ibmcloud project config-approve \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id> \
        --comment <Rolling back to the previously deployed version>
    
  3. Setzen Sie example-corp-us-south ein, indem Sie den folgenden ibmcloud project config-deploy befehl:

    ibmcloud project config-deploy \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id>
    

Nachdem die Bereitstellung erfolgreich abgeschlossen wurde, wird example-corp-us-south auf die erste Version der Konfiguration zurückgesetzt, die Sie aus dem Projekt bereitgestellt haben. Ihr Team kann nun den Fehler untersuchen und bei Bedarf ein Update auf Example Corp's infrastructure veröffentlichen.