Als ontwikkelaar hebt u een pijplijn nodig die een Automation-cloudsjabloon ophaalt van een GitHub-instantie op locatie telkens wanneer u een wijziging doorvoert. U hebt de pijplijn nodig om een WordPress-applicatie te implementeren op Amazon Web Services (AWS) EC2 of een datacentrum. vRealize Automation Code Stream roept de cloudsjabloon aan vanuit de pijplijn en automatiseert de continue integratie en continue levering (CICD) van die cloudsjabloon voor de implementatie van uw applicatie.

Als u uw pijplijn wilt maken en activeren, hebt u een VMware Cloud-sjabloon nodig.

Voor Bron van cloudsjabloon in uw vRealize Automation Code Streamcloudsjabloontaak kunt u een van de volgende selecteren:

  • Cloud Assembly Templates als broncontrole. In dit geval hebt u geen GitLab- of GitHub-opslagplaats nodig.
  • Bronbeheer als u GitLab of GitHub voor bronbeheer gebruikt. In dit geval moet u een Git-webhook hebben en de pijplijn activeren via de webhook.

Als u een YAML-cloudsjabloon in uw GitHub-opslagplaats hebt en u deze cloudsjabloon in uw pijplijn wilt gebruiken, moet u het volgende doen.

  1. Push de cloudsjabloon in vRealize Automation Cloud Assembly naar uw GitHub-opslagplaats.
  2. Maak in vRealize Automation Code Stream een Git-eindpunt. Maak vervolgens een Git-webhook die uw Git-eindpunt en uw pijplijn gebruikt.
  3. Als u uw pijplijn wilt activeren, moet u alle bestanden in uw GitHub-opslagplaats bijwerken en uw wijziging doorvoeren.

Als u geen YAML-cloudsjabloon in uw GitHub-opslagplaats hebt en u een cloudsjabloon van broncontrole wilt gebruiken, gebruikt u de volgende procedure om te leren hoe u dit kunt doen. U ziet hoe u een cloudsjabloon voor een WordPress-applicatie maakt en deze vanuit een GitHub-opslagplaats op locatie kunt activeren. Wanneer u een wijziging aanbrengt in de YAML-cloudsjabloon wordt de pijplijn geactiveerd en wordt de release van uw applicatie geautomatiseerd.

  • In vRealize Automation Cloud Assembly voegt u een cloudaccount toe, voegt u een cloudzone toe en maakt u de cloudsjabloon.
  • In vRealize Automation Code Stream voegt u een eindpunt toe voor de GitHub-opslagplaats op locatie waarop uw cloudsjabloon wordt gehost. Vervolgens voegt u de cloudsjabloon toe aan uw pijplijn.

In dit gebruiksscenario wordt uitgelegd hoe u een cloudsjabloon kunt gebruiken vanuit een GitHub-opslagplaats op locatie.

Werkstroom om de release van een applicatie te automatiseren die u implementeert vanuit een YAML-cloudsjabloon.

Voorwaarden

  • Voeg een cloudaccount en een cloudzone toe aan uw vRealize Automation Cloud Assembly-infrastructuur. Zie de documentatie voor de vRealize Automation Cloud Assembly.
  • Als u uw cloudsjabloon wilt maken in de volgende procedure, kopieert u de YAML-code van WordPress naar uw klembord. Zie de cloudsjabloon-YAML-code in het WordPress-gebruiksscenario in de documentatie voor vRealize Automation Cloud Assembly.
  • Voeg de YAML-code voor de WordPress-applicatie toe aan uw GitHub-instantie.
  • Voeg een webhook toe voor de Git-trigger zodat uw pijplijn uw YAML-code kan ophalen wanneer u deze bijwerkt en uw wijzigingen doorvoert. Klik in vRealize Automation Code Stream op Triggers > Git > Webhooks voor Git.
  • Als u met een cloudsjabloontaak wilt werken, moet u een van de vRealize Automation Cloud Assembly-rollen hebben.

Procedure

  1. In vRealize Automation Cloud Assembly voert u deze stappen uit.
    1. Klik op VMware Cloud Templates en maak vervolgens een cloudsjabloon en een implementatie voor de WordPress-applicatie.
    2. Plak de WordPress YAML-code die u naar uw klembord hebt gekopieerd in uw cloudsjabloon en implementeer deze.
      Voorbeeld van WordPress-cloudsjabloon.
  2. In vRealize Automation Code Stream maakt u eindpunten.
    1. Maak een Git-eindpunt voor uw GitHub-opslagplaats op locatie waar uw YAML-bestand zich bevindt.
    2. Voeg een e-mail-eindpunt toe om gebruikers op de hoogte te stellen van de pijplijnstatus wanneer deze wordt uitgevoerd.
      Een e-mail-eindpunt toevoegen.
  3. Maak een pijplijn en voeg meldingen toe voor geslaagde en mislukte pijplijnactiviteiten.
    E-mailmeldingen voor pijplijnen en een e-mailserver selecteren.
  4. Voeg een fase voor ontwikkeling toe en voeg een cloudsjabloontaak toe.
    1. Voeg een cloudsjabloontaak toe die de machine implementeert en configureer de taak om de cloudsjabloon-YAML voor de WordPress-applicatie te gebruiken.
      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. Voeg een cloudsjabloontaak toe die de machine vernietigt om resources vrij te maken.
  5. Voeg een fase voor productie toe en voeg goedkeurings- en implementatietaken toe.
    1. Voeg een gebruikersbewerkingstaak toe om goedkeuring te vereisen om de WordPress-applicatie naar productie te pushen.
    2. Voeg een cloudsjabloontaak toe om de machine te implementeren en configureer deze met de cloudsjabloon-YAML voor de WordPress-applicatie.
      Wanneer u Maken kiest, moet de implementatienaam uniek zijn. Als u de naam leeg laat, zal vRealize Automation Code Stream een unieke willekeurige naam toewijzen.
      Dit is wat u moet weten als u Terugdraaien kiest in uw eigen gebruiksscenario: als u de actie Terugdraaien selecteert en een Terugdraaiversie invoert, moet de versie de indeling n-X hebben. Bijvoorbeeld n-1, n-2, n-3, enzovoort. Als u de implementatie op een andere locatie dan vRealize Automation Code Stream maakt en bijwerkt, is terugdraaien niet toegestaan.
      Wanneer u zich aanmeldt bij vRealize Automation Code Stream krijgt deze een gebruikerstoken, dat 30 minuten geldig is. Voor langdurige pijplijnperiodes, wanneer de taak vóór de cloudsjabloontaak 30 minuten of langer duurt om uit te voeren, zal het gebruikerstoken vervallen. Hierdoor mislukt de cloudsjabloontaak.
      Om ervoor te zorgen dat uw pijplijn langer dan 30 minuten kan worden uitgevoerd, kunt u een optioneel API-token invoeren. Wanneer vRealize Automation Code Stream de cloudsjabloon aanroept, blijft het API-token behouden en blijft de cloudsjabloontaak het API-token gebruiken.
      Wanneer u het API-token als variabele gebruikt, wordt het versleuteld. Anders wordt het gebruikt als tekst zonder opmaak.
      Een cloudsjabloontaak voor implementatie van WordPress-applicaties toevoegen.
  6. Voer de pijplijn uit.
  7. Wijzig in GitHub het type van de WordPress-serverinstantie van small naar medium.
    Wanneer u wijzigingen doorvoert, wordt de pijplijn geactiveerd. De pijplijn haalt uw bijgewerkte code uit de GitHub-opslagplaats en bouwt uw applicatie.
    WebTier:
        type: Cloud.Machine    
        properties:     
            name: wordpress      
            image: 'ubuntu-16'      
            flavor: 'medium'      
            constraints:        
                - tag: zone:dev
  8. Voer de pijplijn opnieuw uit, controleer of deze is gelukt en of de versie van de WordPress-instantie is gewijzigd van small naar medium.

resultaten

Gefeliciteerd! U heeft de release van uw applicatie geautomatiseerd die u heeft geïmplementeerd vanuit een YAML-cloudsjabloon.

Volgende stappen

Zie Tutorials voor het gebruik van vRealize Automation Code Stream voor meer informatie over hoe u vRealize Automation Code Stream kunt gebruiken.

Zie Meer resources voor vRealize Automation Code Stream-beheerders en -ontwikkelaars voor aanvullende referenties.