Als Code Stream-beheerder of -ontwikkelaar kunt u Code Stream met de Git-levenscyclus integreren met behulp van de Git-trigger. Wanneer u code wijzigt in GitHub, GitLab of Bitbucket Enterprise, communiceert de gebeurtenis met Code Stream via een webhook en wordt een pijplijn geactiveerd. De webhook werkt met GitLab-, GitHub- en Bitbucket-bedrijfsversies op locatie wanneer zowel Cloud Assembly als de bedrijfsversie bereikbaar zijn op hetzelfde netwerk.

Wanneer u de webhook voor Git toevoegt in 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 ook door die actie bijgewerkt of verwijderd in GitHub, GitLab of Bitbucket.

Uw webhookdefinitie moet een Git-eindpunt bevatten op de tak van de opslagplaats die u wilt bewaken. Om een webhook te maken, gebruikt Code Stream het Git-eindpunt. 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.

Opmerking: Als u een webhook wilt maken, moet uw Git-eindpunt een privétoken voor verificatie gebruiken. Er kan geen wachtwoord worden gebruikt.

U kunt meerdere webhooks voor verschillende takken maken door hetzelfde Git-eindpunt te gebruiken en verschillende waarden voor de naam van de tak op te geven op de pagina voor webhookconfiguratie. Als u een andere webhook voor een andere tak in dezelfde Git-opslagplaats wilt maken, hoeft u het Git-eindpunt niet meerdere keren te klonen voor meerdere takken. In plaats daarvan geeft u de naam van de tak op in de webhook, zodat u het Git-eindpunt opnieuw kunt gebruiken. Als de tak op de Git-webhook hetzelfde is als de tak op het eindpunt, hoeft u geen taknaam op de pagina van de Git-webhook op te geven.

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 Code Stream. Als u geen beheerder bent, vraagt u de Code Stream-beheerder om u als lid toe te voegen aan een project. Zie Hoe voeg ik een project toe in Code Stream?.
  • Controleer of u een Git-eindpunt heeft op de GitHub-tak die u wilt bewaken. Zie Hoe integreer ik 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.

    Wanneer u uw pijplijn configureert voor gebruik van de trigger voor Git, configureert u de invoerparameters op het tabblad Invoer.

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

Procedure

  1. Klik in 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 privétoken in het eindpunt wijzigt, blijft de webhook werken.
      • Als u een BitBucket-opslagplaats gebruikt, moet de URL voor de opslagplaats een van de volgende indelingen hebben: https://api.bitbucket.org/{user}/{repo name} of http(s)://{bitbucket-enterprise-server}/rest/api/1.0/users/{username}/repos/{repo name}.
      Opmerking: Als u eerder een webhook hebt gemaakt met een Git-eindpunt dat een wachtwoord voor basisverificatie gebruikt, moet u de webhook verwijderen en opnieuw definiëren met een Git-eindpunt dat een privétoken voor verificatie gebruikt.
      Zie Hoe integreer ik Code Stream met Git?.
    4. (Optioneel) Voer de tak in die de webhook moet bewaken.
      Als u de tak niet opgeeft, controleert de webhook de tak die u hebt geconfigureerd voor het Git-eindpunt.
    5. (Optioneel) Genereer een geheime token voor de webhook.
      Als u een geheim token gebruikt, genereert Code Stream een willekeurig tekenreekstoken voor de webhook. Wanneer de webhook vervolgens gegevens van de Git-gebeurtenis ontvangt, verzendt deze de gegevens met de geheime token. 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.
      • Bestandsopnamen. Als een van de bestanden in een commit overeenkomt met de bestanden die zijn opgegeven in de opnamepaden of regex, activeert de commit de pijplijnen. Met een opgegeven regex worden door Code Stream alleen de pijplijnen geactiveerd wanneer bestandsnamen in de wijzigingsset overeenkomen met de opgegeven expressie. Het regex-filter is handig bij het configureren van een trigger voor meerdere pijplijnen op één opslagplaats.
      • Bestandsuitsluitingen. Wanneer alle bestanden in een commit overeenstemmen met de bestanden die zijn opgegeven in de uitsluitingspaden of regex, worden de pijplijnen niet geactiveerd.
      • Uitsluitingen prioriteren. 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 bestanden die in de uitsluitingspaden of regex zijn opgegeven. De standaardinstelling is uitgeschakeld.
      Als voorwaarden voldoen aan zowel bestandsopnamen als bestandsuitsluitingen, worden pijplijnen niet geactiveerd.

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

      Bestandsopnamen en bestandsuitsluitingen en hun waarden worden weergegeven op het tabblad Webhooks voor Git in de trigger voor Git en kunnen plain of regex zijn.

      • 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 VMware Cloud Services API-token verifieert u voor externe API-verbindingen met 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 aangepaste toegevoegde invoerparameters bevat, worden parameters en waarden weergegeven in de lijst Invoerparameters. U kunt waarden invoeren voor invoerparameters 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.

    De URL van de Git-webhook, die u kopieert en gebruikt in uw Git-opslagplaats, wordt weergegeven op het tabblad Webhooks voor Git in de trigger 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 Code Stream, klikt u op het tabblad Instellingen en selecteert u Webhooks.
      Onder in de lijst met webhooks ziet u dezelfde webhook-URL.

      In uw GitHub-opslagplaats wordt in de lijst met webhooks dezelfde URL voor de Git-webhook onderaan de lijst weergegeven.

    2. Als u code wilt wijzigen, klikt u op het tabblad Code en selecteert u een bestand in de tak. Nadat u het bestand hebt bewerkt, voert u 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. Wanneer de Webhook in GitHub geldig is, wordt een groen vinkje weergegeven.
  5. Ga terug naar 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.

    Wanneer een gebruiker een bestand bevestigt, wordt de trigger voor Git geactiveerd en wordt op het tabblad Activiteit de status van de trigger weergegeven als GESTART.

  6. Klik op Uitvoeringen en volg uw pijplijn tijdens de uitvoering.
    Om de pijplijnuitvoering te bekijken, kunt u op Vernieuwen klikken.

    Nadat de pijplijn is geactiveerd, wordt de status WORDT UITGEVOERD weergegeven bij de pijplijnuitvoering.

resultaten

Gefeliciteerd! U hebt de trigger voor Git met succes gebruikt.