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. 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 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.
- Push de cloudsjabloon in Cloud Assembly naar uw GitHub-opslagplaats.
- Maak in Code Stream een Git-eindpunt. Maak vervolgens een Git-webhook die uw Git-eindpunt en uw pijplijn gebruikt.
- 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 Cloud Assembly voegt u een cloudaccount toe, voegt u een cloudzone toe en maakt u de cloudsjabloon.
- In 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.
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 Code Stream op .
- Als u met een cloudsjabloontaak wilt werken, moet u een van de Cloud Assembly-rollen hebben.
Procedure
- In Cloud Assembly voert u deze stappen uit.
- Klik op VMware Cloud Templates en maak vervolgens een cloudsjabloon en een implementatie voor de WordPress-applicatie.
- Plak de WordPress YAML-code die u naar uw klembord hebt gekopieerd in uw cloudsjabloon en implementeer deze.
- In Code Stream maakt u eindpunten.
- Maak een Git-eindpunt voor uw GitHub-opslagplaats op locatie waar uw YAML-bestand zich bevindt.
- Voeg een e-maileindpunt toe dat gebruikers op de hoogte kan stellen van de pijplijnstatus wanneer deze wordt uitgevoerd.
- Maak een pijplijn en voeg meldingen toe voor geslaagde en mislukte pijplijnactiviteiten.
- Voeg een fase voor ontwikkeling toe en voeg een cloudsjabloontaak toe.
- 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'
- Voeg een cloudsjabloontaak toe die de machine vernietigt om resources vrij te maken.
- Voeg een fase voor productie toe en voeg goedkeurings- en implementatietaken toe.
- Voeg een gebruikersbewerkingstaak toe om goedkeuring te vereisen om de WordPress-applicatie naar productie te pushen.
- 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
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
Code Stream maakt en bijwerkt, is terugdraaien niet toegestaan.
Wanneer u zich aanmeldt bij
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
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.
- Voer de pijplijn uit.
Om te controleren of elke taak is voltooid, klikt u op de taak die wordt uitgevoerd en onderzoekt u de status in de implementatiegegevens om gedetailleerde resourcegegevens te zien.
- Wijzig in GitHub de soort van de WordPress-serverinstantie van
small
in 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
- Voer de pijplijn opnieuw uit, controleer of deze is gelukt en of de versie van de WordPress-instantie is gewijzigd van small in 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 Code Stream voor meer informatie over hoe u Code Stream kunt gebruiken.
Zie Meer resources voor Code Stream-beheerders en -ontwikkelaars voor aanvullende referenties.