Als Entwickler benötigen Sie eine Pipeline, die bei jeder Übergabe einer Änderung eine Cloud-Automatisierungsvorlage aus einer lokalen GitHub-Instanz abruft. Sie benötigen die Pipeline, um eine WordPress-Anwendung für Amazon Web Services (AWS) EC2 oder ein Datencenter bereitzustellen. Automation Pipelines ruft die Cloud-Vorlage aus der Pipeline auf und automatisiert die kontinuierliche Integration und die kontinuierliche Bereitstellung (CICD) dieser Cloud-Vorlage, um Ihre Anwendung bereitzustellen.

Um Ihre Pipeline zu erstellen und auszulösen, benötigen Sie eine Cloud-Vorlage in Automation Assembler.

Für die Vorlagenquelle in Ihrer Automation Pipelines-Cloud-Vorlagenaufgabe können Sie eine der folgenden Optionen auswählen:

  • Automation Assembler als Quellcodeverwaltung. In diesem Fall benötigen Sie kein GitLab- oder GitHub-Repository.
  • Quellcodeverwaltung, wenn Sie GitLab oder GitHub für die Quellcodeverwaltung verwenden. In diesem Fall benötigen Sie einen Webhook und müssen die Pipeline über den Webhook auslösen.

Wenn Ihr GitHub-Repository eine YAML-Cloud-Vorlage enthält und Sie diese Cloud-Vorlage in Ihrer Pipeline verwenden möchten, müssen Sie wie folgt vorgehen.

  1. Übertragen Sie die Cloud-Vorlage in Automation Assembler in Ihr GitHub-Repository.
  2. Erstellen Sie in Automation Pipelines einen Git-Endpoint. Erstellen Sie anschließend einen Git-Webhook, der Ihren Git-Endpoint und Ihre Pipeline verwendet.
  3. Aktualisieren Sie zum Auslösen der Pipeline eine beliebige Datei im GitHub-Repository und übergeben Sie die Änderung.

Falls Ihr GitHub-Repository keine YAML-Cloud-Vorlage enthält und Sie eine Cloud-Vorlage aus der Quellcodeverwaltung verwenden möchten, erfahren Sie im folgenden Verfahren, wie Sie dabei vorgehen müssen. Ihnen wird gezeigt, wie Sie eine Cloud-Vorlage für eine WordPress-Anwendung erstellen und diese über ein lokales GitHub-Repository auslösen. Immer dann, wenn Sie eine Änderung an der YAML-Cloud-Vorlage vornehmen, löst die Pipeline die Freigabe Ihrer Anwendung aus und automatisiert sie.

  • In Automation Assembler fügen Sie ein Cloud-Konto und eine Cloud-Zone hinzu und erstellen die Cloud-Vorlage.
  • In Automation Pipelines fügen Sie einen Endpoint für das lokale GitHub-Repository hinzu, in dem Ihre Cloud-Vorlage gehostet wird. Anschließend fügen Sie die Cloud-Vorlage Ihrer Pipeline hinzu.

In diesem Anwendungsbeispiel wird gezeigt, wie Sie eine Cloud-Vorlage aus einem lokalen GitHub-Repository verwenden.

Der Workflow hilft Ihnen beim Navigieren durch den Vorgang, der die Freigabe einer Anwendung automatisiert, die Sie von einer YAML-Cloud-Vorlage bereitstellen.

Voraussetzungen

  • Fügen Sie den YAML-Code für die WordPress-Anwendung zu Ihrer GitHub-Instanz hinzu.
  • Fügen Sie einen Webhook für den Git-Auslöser hinzu, damit Ihre Pipeline den YAML-Code immer dann abrufen kann, wenn Sie Änderungen daran übernehmen. Klicken Sie in Automation Pipelines auf Auslöser > Git > Webhooks für Git.
  • Um mit einer Cloud-Vorlagenaufgabe zu arbeiten, müssen Sie über eine der Automation Assembler-Rollen verfügen.

Prozedur

  1. Führen Sie in Automation Assembler die folgenden Schritte aus.
    1. Klicken Sie auf Vorlagen und erstellen Sie dann eine Cloud-Vorlage und eine Bereitstellung für die WordPress-Anwendung.
    2. Fügen Sie den WordPress-YAML-Code, den Sie in Ihre Zwischenablage kopiert haben, in Ihre Cloud-Vorlage ein und stellen Sie ihn bereit.
      Unter Verwendung des YAML-Codes erstellt die Cloud-Vorlage die Datenbankebene, die Webebene und das Netzwerk in Ihrer Bereitstellung.
  2. Erstellen Sie Endpoints in Automation Pipelines.
    1. Erstellen Sie einen Git-Endpoint für Ihr lokales GitHub-Repository, in dem sich Ihre YAML-Datei befindet.
    2. Fügen Sie einen E-Mail-Endpoint hinzu, der Benutzer über den Pipeline-Status benachrichtigen kann, wenn er ausgeführt wird.


      Wenn Sie einen E-Mail-Endpoint hinzufügen, legen Sie die Verschlüsselungsmethode und das Ausgangsprotokoll fest.
  3. Erstellen Sie eine Pipeline und fügen Sie Benachrichtigungen für eine erfolgreiche und fehlerhafte Ausführung hinzu.

    Wenn Sie eine E-Mail-Benachrichtigung hinzufügen, wählen Sie einen der Pipeline-Zustände aus sowie den E-Mail-Server und die Empfänger.
  4. Fügen Sie eine Phase für die Bereitstellung und eine Cloud-Vorlagenaufgabe hinzu.
    1. Fügen Sie eine Cloud-Vorlagenaufgabe hinzu, die die Maschine bereitstellt, und konfigurieren Sie die Aufgabe so, dass Sie die Cloud-Vorlagen-YAML für die WordPress-Anwendung verwendet.
      resources:
        DBTier:    
          type: Cloud.Machine    
          properties:      
              name: mysql      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  -   tag: zone:dev
        WebTier:
          type: Cloud.Machine    
          properties:     
              name: wordpress      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  - tag: zone:dev
       WP-Network-Private:
          type: Cloud.Network
          properties:
              name: WP-Network-Private
              networkType: existing
              constraints:
                  - tag: 'type:isolated-net'
                  - tag: 'zone:dev'
    2. Fügen Sie eine Cloud-Vorlagenaufgabe zum Löschen der Maschine hinzu, um Ressourcen freizugeben.
  5. Fügen Sie eine Phase für die Produktion hinzu und schließen Sie Genehmigungs- und Bereitstellungsaufgaben ein.
    1. Fügen Sie eine Benutzervorgangsaufgabe hinzu, um die Genehmigung für die Übertragung der WordPress-Anwendung auf die Produktionsebene anzufordern.
    2. Fügen Sie eine Cloud-Vorlagenaufgabe hinzu, um die Maschine bereitzustellen, und konfigurieren Sie sie mit der Cloud-Vorlagen-YAML für die WordPress-Anwendung.
      Wenn Sie Erstellen auswählen, muss der Bereitstellungsname eindeutig sein. Wenn Sie den Namen leer lassen, weist Automation Pipelines einen zufälligen eindeutigen Namen zu.
      Sie müssen Folgendes wissen, wenn Sie in Ihrem eigenen Anwendungsbeispiel Rollback auswählen: Wenn Sie die Aktion Rollback auswählen und eine Rollback-Version eingeben, muss die Version in folgender Form angegeben werden: n-X. Beispiel: n-1, n-2, n-3 usw. Wenn Sie die Bereitstellung an einem anderen Speicherort als Automation Pipelines erstellen und aktualisieren, ist das Rollback zulässig.
      Die Cloud-Vorlagenaufgabe kann eine VMware-Cloud-Vorlage in Automation Assembler verwenden oder eine Vorlage aus der Quellcodeverwaltung in einem GitLab- oder GitHub-Repository entnehmen.
  6. Führen Sie die Pipeline aus.

    Um sicherzustellen, dass jede Aufgabe erfolgreich abgeschlossen wurde, klicken Sie auf die Aufgabe in der Ausführung und überprüfen Sie den Status in den Bereitstellungsdetails, in denen detaillierte Ressourceninformationen angezeigt werden.

  7. Ändern Sie in GitHub den Typ der WordPress-Serverinstanz von small in medium.
    Wenn Sie Änderungen übernehmen, wird die Pipeline ausgelöst. Sie ruft Ihren aktualisierten Code aus dem GitHub-Repository ab und erstellt Ihre Anwendung.
    WebTier:
        type: Cloud.Machine    
        properties:     
            name: wordpress      
            image: 'ubuntu-16'      
            flavor: 'medium'      
            constraints:        
                - tag: zone:dev
  8. Führen Sie die Pipeline erneut aus, stellen Sie sicher, dass sie erfolgreich war und dass sie den Typ der WordPress-Instanz von small in medium geändert hat.

Ergebnisse

Herzlichen Glückwunsch! Sie haben die Version Ihrer Anwendung automatisiert, die Sie über eine YAML-Cloud-Vorlage bereitgestellt haben.

Nächste Maßnahme

Weitere Informationen zur Verwendung von Automation Pipelines finden Sie unter Lernprogramme für die Verwendung von Automation Pipelines.

Weitere Informationen finden Sie in den zusätzlichen Ressourcen unter Erste Schritte mit VMware Aria Automation.