Als Code Stream-beheerder of -ontwikkelaar kunt u Code Stream integreren met de beoordelingslevenscyclus van de Gerrit-code met behulp van de Gerrit-trigger. De gebeurtenis zorgt ervoor dat een pijplijn wordt uitgevoerd wanneer u een patchset maakt, concepten publiceert, codewijzigingen samenvoegt in het Gerrit-project of rechtstreeks wijzigingen aanbrengt in de Git-tak.

Wanneer u de Gerrit-trigger toevoegt, selecteert u een Gerrit-listener, een Gerrit-project op de Gerrit-server, en configureert u Gerrit-gebeurtenissen. In de definitie van de Gerrit-luisteraar selecteert u een Gerrit-eindpunt. Als u het Gerrit-eindpunt moet bijwerken nadat verbinding is gemaakt met de luisteraar, moet u eerst de luisteraar loskoppelen en vervolgens het eindpunt bijwerken.

In dit voorbeeld configureert u eerst een Gerrit-listener en vervolgens gebruikt u die listener in een Gerrit-trigger met twee gebeurtenissen op drie verschillende pijplijnen.

Voorwaarden

Procedure

  1. Klik in Code Stream op Triggers > Gerrit.
  2. (Optioneel) Klik op het tabblad Luisteraars en klik vervolgens op Nieuwe luisteraar.
    Opmerking: Als de Gerrit-listener die u voor de Gerrit-trigger wilt gebruiken al is gedefinieerd, slaat u deze stap over.
    1. Selecteer een project.
    2. Voer een naam in voor Gerrit-luisteraar.
    3. Selecteer een Git-eindpunt.
    4. Voer de API-token in.
      Het CSP 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.
      Als u een variabele hebt gemaakt, wordt in het API-token de naam van de variabele weergegeven die u hebt ingevoerd met de dollarbinding. Als u de token heeft gekopieerd, geeft het API-token de gemaskeerde token weer.

      Voor instanties op locatie gebruikt de Gerrit-triggerlistener een Gerrit-eindpunt en een API-token, dat u kunt genereren via het tabblad Listeners door op TOKEN GENEREREN te klikken.

    5. Om de gegevens van het token en eindpunt te valideren, klikt u op Valideren.
      Uw token verloopt na 90 dagen.
    6. Klik op Maken.
    7. Klik op Verbinden op de luisteraarskaart.
      De luisteraar start de bewaking van alle activiteiten op de Gerrit-server en luistert naar geactiveerde triggers op die server. Als u wilt stoppen met luisteren naar een trigger op die server, deactiveert u de trigger.
      Opmerking: Om een Gerrit-eindpunt bij te werken dat is verbonden met een luisteraar, moet u de verbinding met de luisteraar verbreken voordat u het eindpunt bijwerkt.
      • Klik op Configureren > Triggers > Gerrit.
      • Klik op het tabblad Luisteraars.
      • Klik op Loskoppelen op de luisteraar die is verbonden met het eindpunt dat u wilt bijwerken.
  3. Klik op het tabblad Triggers en klik vervolgens op Nieuwe trigger.
  4. Selecteer een project op de Gerrit-server.
  5. Voer een naam in.
    De naam van de Gerrit-trigger moet uniek zijn.
  6. Selecteer een geconfigureerde Gerrit-luisteraar.
    Door de Gerrit-listener te gebruiken, biedt Code Stream een lijst met Gerrit-projecten die beschikbaar zijn op de server.
  7. Selecteer een project op de Gerrit-server.
  8. Voer de tak in de opslagplaats in die de Gerrit-listener zal bewaken.
  9. (Optioneel) Geef bestandsopnamen of -uitsluitingen als voorwaarden voor de trigger op.
    • U geeft bestandsopnamen op die de pijplijnen activeren. Wanneer een van de bestanden in een commit overeenkomt met de bestanden die zijn opgegeven in de opnamepaden of regex, worden pijplijnen geactiveerd. Met een opgegeven regex worden door 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 die voorkomen dat pijplijnen worden geactiveerd. Wanneer alle bestanden in een commit overeenstemmen met de bestanden die zijn opgegeven in de uitsluitingspaden of regex, worden de pijplijnen niet geactiveerd.
    • Wanneer Uitsluiting prioriteren is ingeschakeld, zorgt u ervoor dat pijplijnen niet worden geactiveerd. De pijplijnen worden niet geactiveerd, ook als een van de bestanden in een commit overeenkomt met de bestanden die zijn opgegeven in de uitsluitingspaden of regex. De standaardinstelling voor Uitsluiting prioriteren is uitgeschakeld.
    Als de voorwaarden voldoen aan zowel de bestandsopname als de bestandsuitsluiting, worden pijplijnen niet geactiveerd.

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

    De bestandsopnamen en bestandsuitsluitingen worden weergegeven als PLAIN-paren of REGEX-paren met waarden.

    • Bij bestandsopnamen activeert een commit die een wijziging in runtime/src/main/a.java of een Java-bestand heeft, de pijplijnen die in de gebeurtenisconfiguratie zijn ingesteld.
    • Bij bestandsuitsluitingen worden de pijplijnen die in de gebeurtenisconfiguratie zijn ingesteld, niet geactiveerd door een commit met alleen wijzigingen in beide bestanden.
  10. Klik op Nieuwe configuratie.
    1. Selecteer voor de Gerrit-gebeurtenis Patchset gemaakt, Concept gepubliceerd of Wijziging samengevoegd. Voor een directe push naar Git die Gerrit omzeilt, selecteert u Directe Git-push.
      Opmerking: Vanaf Gerrit-releaseversie 2.15 worden conceptwijzigingen en conceptwijzigingssets niet langer ondersteund. Als u Gerrit-releaseversie 2.15 of hoger uitvoert, is Draft Published geen ondersteunde gebeurtenis.
    2. Selecteer de pijplijn die wordt geactiveerd.
      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.
      Opmerking: Als standaardwaarden worden gedefinieerd:
      • Alle waarden die u voor de invoerparameters invoert, overschrijven de standaardwaarden die in het pijplijnmodel zijn gedefinieerd.
      • De standaardwaarden in de triggerconfiguratie worden niet gewijzigd als de parameterwaarden in het pijplijnmodel worden gewijzigd.

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

    3. Voor Patchset gemaakt, Concept gepubliceerd en Wijzigingen samengevoegd worden sommige acties standaard met labels weergegeven. U kunt het label wijzigen of opmerkingen toevoegen. Wanneer de pijplijn wordt uitgevoerd, verschijnt het label of de opmerking op het tabblad Activiteit als de Ondernomen actie voor de pijplijn.
      Met de configuratie van de Gerrit-gebeurtenis kunt u opmerkingen invoeren met behulp van een variabele voor de opmerking Gelukt of Mislukt. Bijvoorbeeld: ${var.success} en ${var.failure}.
    4. Klik op Opslaan.
    Als u meerdere triggergebeurtenissen wilt toevoegen aan meerdere pijplijnen, klikt u opnieuw op Nieuwe configuratie.
    In het volgende voorbeeld ziet u gebeurtenissen voor drie pijplijnen:
    • Als een gebeurtenis Wijziging samengevoegd in het Gerrit-project plaatsvindt, wordt de pijplijn met de naam Gerrit-pijplijn geactiveerd.
    • Als een gebeurtenis Patchset gemaakt plaatsvindt in het Gerrit-project, worden de pijplijnen met de naam Gerrit-trigger-pijplijn en de Gerrit-demo-pijplijn geactiveerd.

    De configuratie voor de Gerrit-listener en -trigger bevat de gebeurtenistypen en de pijplijnen die kunnen worden geactiveerd.

  11. Klik op Maken.
    De Gerrit-trigger wordt weergegeven als nieuwe kaart op het tabblad Triggers en is standaard ingesteld op Uitgeschakeld.
  12. Klik op de triggerkaart op Inschakelen.
    Nadat de trigger is geactiveerd, gebruikt deze de Gerrit-listener, die begint met het bewaken van gebeurtenissen die plaatsvinden op de tak van het Gerrit-project.
    Als u een trigger wilt maken met dezelfde voorwaarden voor bestandopname of de voorwaarden voor bestandsuitsluiting, maar met een andere opslagplaats dan die u hebt opgenomen toen u de trigger hebt gemaakt, klikt u op de triggerkaart op Acties > Klonen. Klik vervolgens op de gekloonde trigger op Openen en wijzig de parameters.

resultaten

Gefeliciteerd! U hebt een Gerrit-trigger met twee gebeurtenissen op drie verschillende pijplijnen geconfigureerd.

Volgende stappen

Nadat u een codewijziging hebt doorgevoerd in het Gerrit-project, bekijkt u het tabblad Activiteit voor de Gerrit-gebeurtenis in Code Stream. Controleer of de lijst met activiteiten vermeldingen bevat die overeenkomen met elke pijplijnuitvoering in de triggerconfiguratie.

Wanneer een gebeurtenis plaatsvindt, kunnen alleen pijplijnen in de Gerrit-trigger die betrekking hebben op het specifieke type gebeurtenis worden uitgevoerd. Als in dit voorbeeld een patchset is gemaakt, worden alleen de Gerrit-trigger-pijplijn en de Gerrit-demo-pijplijn uitgevoerd.

Informatie in de kolommen op het tabblad Activiteit beschrijven elke Gerrit-triggergebeurtenis. U kunt de kolommen selecteren die worden weergegeven door op het kolompictogram te klikken dat onder de tabel wordt weergegeven.
  • De kolommen Onderwerp wijzigen en Uitvoeren zijn leeg als de trigger een directe Git-push was.
  • De kolom Trigger voor Gerrit toont de trigger die de gebeurtenis hebt gemaakt.
  • De kolom Listener is standaard uitgeschakeld. Wanneer u deze selecteert, wordt in de kolom de Gerrit-listener weergegeven die de gebeurtenis heeft ontvangen. Eén listener kan worden weergegeven als gekoppeld aan meerdere triggers.
  • De kolom Triggertype is standaard uitgeschakeld. Wanneer u deze selecteert, wordt in de kolom het type trigger weergegeven als AUTOMATISCH of HANDMATIG.
  • Andere kolommen zijn Committijd, Wijzigingsnr., Status, Bericht, Ondernomen actie, Gebruiker, Gerrit-project, Tak en Gebeurtenis.

Het tabblad Activiteit voor de Gerrit-trigger geeft alle geselecteerde kolommen weer en geeft in elke kolom de relevante informatie weer voor alle activiteitsvermeldingen.

Als u de activiteit voor een voltooide of mislukte pijplijnuitvoering wilt regelen, klikt u op de drie punten links van een item in het scherm Activiteit.

  • Als de pijplijn niet kan worden uitgevoerd vanwege een fout in het pijplijnmodel of een ander probleem, corrigeert u de fout en selecteert u Opnieuw uitvoeren, waarmee de pijplijn opnieuw wordt uitgevoerd.
  • Als de pijplijn niet kan worden uitgevoerd vanwege een probleem met de netwerkverbinding of een ander probleem, selecteert u Hervatten, waarmee dezelfde pijplijnuitvoering wordt hervat en de runtime wordt opgeslagen.
  • Gebruik Uitvoering weergeven, waarmee de weergave van de pijplijnuitvoering wordt geopend. Zie Hoe kan ik een pijplijn uitvoeren en de resultaten bekijken?.
  • Gebruik Verwijderen om de vermelding uit het Activiteiten-scherm te verwijderen.
Als een Gerrit-gebeurtenis een pijplijn niet activeert, kunt u handmatig op Handmatig activeren klikken, vervolgens de trigger voor Gerrit selecteren, de wijzigings-id invoeren en op Uitvoeren klikken.
Opmerking: Handmatig activeren werkt alleen voor geldige Gerrit-gebeurtenissen, zoals Patchset created, Change Merged en Draft-published.