Als vRealize Automation Code Stream-beheerder of -ontwikkelaar kunt u de Git-trigger gebruiken om vRealize Automation Code Stream te integreren met de Git-levenscyclus. Wanneer u code wijzigt in GitHub, GitLab of Bitbucket Enterprise, communiceert de gebeurtenis met vRealize Automation Code Stream via een webhook en wordt een pijplijn geactiveerd.

Wanneer u de webhook voor Git toevoegt in vRealize Automation Code Stream, wordt ook een webhook in de GitHub-, GitLab- of Bitbucket-opslagplaats gemaakt. Als u de webhook later bijwerkt of verwijdert, wordt de webhook in GitHub, GitLab of Bitbucket ook bijgewerkt of verwijderd.

Uw webhookdefinitie moet een Git-eindpunt bevatten op de tak van de opslagplaats die u wilt bewaken. vRealize Automation Code Stream gebruikt het Git-eindpunt om de webhook te maken. Als het eindpunt niet bestaat, kunt u dit maken wanneer u de webhook toevoegt. In dit voorbeeld wordt ervan uitgegaan dat u een vooraf gedefinieerd Git-eindpunt heeft in GitHub.

In dit voorbeeld ziet u hoe u de Git-trigger kunt gebruiken met een GitHub-opslagplaats, maar de vereisten omvatten voorbereidingen die vereist zijn als u een ander Git-servertype gebruikt.

Voorwaarden

  • Controleer of u lid bent van een project in vRealize Automation Code Stream. Als u geen beheerder bent, vraagt u de vRealize Automation Code Stream-beheerder om u als lid toe te voegen aan een project. Zie Hoe voeg ik een project toe in vRealize Automation Code Stream?.
  • Controleer of u een Git-eindpunt heeft op de GitHub-tak die u wilt bewaken. Zie Hoe integreer ik vRealize Automation Code Stream met Git?.
  • Controleer of u rechten heeft om een webhook te maken in de Git-opslagplaats.
  • Als u een webhook in GitLab configureert, wijzigt u de standaardnetwerkinstellingen in GitLab Enterprise om uitgaande aanvragen in te schakelen en om het creëren van lokale webhooks mogelijk te maken.
    Opmerking: Deze wijziging is alleen vereist voor GitLab Enterprise. Deze instellingen zijn niet van toepassing op GitHub of Bitbucket.
    1. Meld u aan bij uw GitLab Enterprise-instantie als beheerder.
    2. Ga naar netwerkinstellingen met behulp van een URL, zoals http://{gitlab-server}/admin/application_settings/network.
    3. Vouw Uitgaande aanvragen uit en klik op:
      • Aanvragen voor het lokale netwerk toestaan via webhooks en services.
      • Aanvragen voor het lokale netwerk vanuit de systeemhaak toestaan.
  • Controleer voor de pijplijnen die u wilt activeren of u de invoereigenschappen heeft ingesteld om Git-parameters te injecteren wanneer de pijplijn wordt uitgevoerd.

    Git-invoerparameters in pijplijn

    Zie Een CICD-systeemeigen build plannen in vRealize Automation Code Stream voordat u handmatig taken toevoegt voor informatie over invoerparameters.

Procedure

  1. Klik in vRealize Automation Code Stream op Triggers > Git.
  2. Klik op het tabblad Webhooks voor Git en klik vervolgens op Nieuwe webhook voor Git.
    1. Selecteer een project.
    2. Voer een relevante naam en beschrijving voor de webhook in.
    3. Selecteer een Git-eindpunt dat is geconfigureerd op de tak die u wilt bewaken.
      Wanneer u uw webhook maakt, bevat de webhook-definitie de huidige eindpuntdetails.
      • Als u later het Git-type, het Git-servertype of de URL van de Git-opslagplaats in het eindpunt wijzigt, kan de webhook geen pijplijn meer activeren omdat deze toegang probeert te krijgen tot de Git-opslagplaats met behulp van de oorspronkelijke eindpuntgegevens. U moet de webhook verwijderen en deze opnieuw maken met het eindpunt.
      • Als u later het verificatietype, de gebruikersnaam of het wachtwoord in het eindpunt wijzigt, blijft de webhook werken.
      Zie Hoe integreer ik vRealize Automation Code Stream met Git?.
    4. (Optioneel) Voer de tak in die de webhook moet bewaken.
      Als dit niet is opgegeven, controleert de webhook de tak die is geconfigureerd voor het Git-eindpunt.
    5. (Optioneel) Genereer een geheime token voor de webhook.
      Als dit wordt gebruikt, genereert vRealize Automation Code Stream een willekeurige tekenreeks als token voor de webhook. Wanneer de webhook vervolgens gegevens van de Git-gebeurtenis ontvangt, verzendt deze de gegevens met de geheime token. vRealize Automation Code Stream gebruikt de informatie om te bepalen of de oproepen afkomstig zijn van de verwachte bron, zoals de geconfigureerde GitHub-instantie, -opslagplaats en -tak. De geheime token biedt een extra beveiligingslaag die wordt gebruikt om te verifiëren of de gegevens van de Git-gebeurtenis afkomstig zijn van de juiste bron.
    6. (Optioneel) Geef bestandsopnamen of -uitsluitingen als voorwaarden voor de trigger op.
      • U geeft bestandsopnamen op zodat wanneer een van de bestanden in een commit overeenkomt met de bestanden die zijn opgegeven in de opnamepaden of regex, er pijplijnen worden geactiveerd. Met een opgegeven regex worden door vRealize Automation Code Stream alleen de pijplijnen geactiveerd met bestandsnamen in de wijzigingsset die overeenkomen met de opgegeven expressie. Het regex-filter is handig bij het configureren van een trigger voor meerdere pijplijnen op één opslagplaats.
      • U geeft bestandsuitsluitingen op zodat wanneer alle bestanden in een commit overeenkomen met de opgegeven bestanden in de uitsluitingspaden of regex, er geen pijplijnen worden geactiveerd.
      • Wanneer Uitsluiting prioriteren is ingeschakeld, wordt ervoor gezorgd dat er geen pijplijnen worden geactiveerd, zelfs niet als een van de bestanden in een commit overeenkomt met de opgegeven bestanden in de uitsluitingspaden of regex. De standaardinstelling is uitgeschakeld.
      Als aan voorwaarden voor zowel opname als uitsluiting wordt voldaan, worden er geen pijplijnen geactiveerd.

      In het volgende voorbeeld zijn zowel bestandsopnamen als -uitsluitingen voorwaarden voor de trigger.

      Voorbeeld van bestandsopnamen en -uitsluitingen.

      • Bij bestandsopnamen activeert een commit met elke wijziging van runtime/src/main/a.java of elk Java-bestand pijplijnen die in de gebeurtenisconfiguratie zijn ingesteld.
      • Bij bestandsuitsluitingen worden de pijplijnen die in de gebeurtenisconfiguraties zijn ingesteld. niet geactiveerd door een commit met alleen wijzigingen in beide bestanden.
    7. Voor de Git-gebeurtenis selecteert u een Push- of Pull-aanvraag.
    8. Voer de API-token in.
      Het CSP API-token verifieert u voor externe API-verbindingen met vRealize Automation Code Stream. Om het API-token te verkrijgen:
      1. Klik op Token genereren.
      2. Voer het e-mailadres in dat is gekoppeld aan uw gebruikersnaam en wachtwoord en klik op Genereren.
        Het token dat u genereert, is zes maanden geldig. Het wordt ook wel een vernieuwingstoken genoemd.
        • Als u het token als een variabele wilt behouden voor toekomstig gebruik klikt u op Variabele maken, voert u een naam voor de variabele in en klikt u op Opslaan.
        • Als u het token als tekstwaarde wilt behouden voor toekomstig gebruik klikt u op Kopiëren en plakt u het token in een tekstbestand om lokaal op te slaan.
        U kunt ervoor kiezen om beide een variabele te maken en het token in een tekstbestand op te slaan voor toekomstig gebruik.
      3. Klik op Sluiten.
    9. Selecteer de pijplijn om de webhook te activeren.
      Als de pijplijn is geconfigureerd met aangepaste toegevoegde invoerparameters, worden parameters en waarden weergegeven in de lijst Invoerparameters. U kunt waarden invoeren voor inputparameters die worden doorgegeven naar de pijplijn met de triggergebeurtenis. Of u kunt de waarden leeg laten of de standaardwaarden gebruiken, indien gedefinieerd.

      Zie de Vereisten voor informatie over het Automatisch injecteren van invoerparameters voor Git-triggers.

    10. Klik op Maken.
      De webhook wordt weergegeven als een nieuwe kaart.
  3. Klik op de webhook-kaart.
    Wanneer het gegevensformulier van de webhook opnieuw wordt weergegeven, ziet u een webhook-URL die is toegevoegd aan de bovenkant van het formulier. De Git-webhook maakt verbinding met de GitHub-opslagplaats via de webhook-URL.

    Webhook voor Git

  4. Open in een nieuw browservenster de GitHub-opslagplaats die is verbonden via de webhook.
    1. Om de webhook te zien die u heeft toegevoegd in vRealize Automation Code Stream, klikt u op het tabblad Instellingen en selecteert u Webhooks.
      Onder in de lijst met webhooks ziet u dezelfde webhook-URL.

      Webhooklijst in GitHub

    2. Als u code wilt wijzigen, klikt u op het tabblad Code en selecteert u het bestand dat u wilt bewerken in de tak om te bewerken. Voer de wijziging door.
    3. Om te controleren of de URL van de webhook werkt, klikt u op het tabblad Instellingen en selecteert u opnieuw Webhooks.
      Onderaan de lijst met webhooks wordt een groen vinkje weergegeven naast de URL van de webhook. Webhook in GitHub met groen vinkje
  5. Ga terug naar vRealize Automation Code Stream om de activiteit op de Git-webhook te bekijken. Klik op Triggers > Git > Activiteit.
    Controleer onder Uitvoeringsstatus of de pijplijn-uitvoering is gestart.

    Activiteit is gestart voor Git-trigger.

  6. Klik op Uitvoeringen om uw pijplijn te volgen terwijl deze wordt uitgevoerd.
    U kunt op de knop Vernieuwen drukken om de pijplijn-uitvoering te bekijken.

    Uitvoering van de door Git geactiveerde pijplijn

resultaten

Gefeliciteerd! U heeft een Git-trigger gebruikt om een pijplijn uit te voeren.