Met Code Stream kunt u een pijplijn activeren als er een codecontrole plaatsvindt in uw Gerrit-project. De definitie van de Gerrit-trigger bevat het Gerrit-project en de pijplijnen die moeten worden uitgevoerd voor verschillende gebeurtenistypen.
De trigger voor Gerrit gebruikt een Gerrit-listener op de Gerrit-server die u wilt bewaken. Als u een Gerrit-eindpunt in Code Stream wilt definiëren, selecteert u een project en voert u de URL voor de Gerrit-server in. Vervolgens geeft u het eindpunt op wanneer u een Gerrit-luisteraar op die server maakt.
Als u een Gerrit-server gebruikt als Code Stream-eindpunt in een vRealize Automation-instantie waarvoor FIPS is ingeschakeld, moet u controleren of het configuratiebestand voor de Gerrit-server de juiste berichtverificatiesleutels bevat. Als het configuratiebestand voor de Gerrit-server niet de juiste berichtverificatiesleutels bevat, kan de server niet correct worden gestart en wordt het volgende bericht weergegeven: PrivateKey/PassPhrase is incorrect
De volgende procedure laat zien hoe u een Gerrit-eindpunt definieert dat u kunt gebruiken in uw definitie van de Gerrit-luisteraar. In het geval dat u een eindpoint moet bewerken, wordt in een optionele stap aan het einde van de procedure uitgelegd hoe en wanneer de update moet worden uitgevoerd.
Voorwaarden
- Controleer of u toegang heeft tot de Gerrit-server waarmee u verbinding wilt maken.
- Controleer of u lid bent van een project in Code Stream. Als u geen lid bent, vraagt u de Code Stream-beheerder om u als lid van een project toe te voegen. Zie Hoe voeg ik een project toe in Code Stream?.
Procedure
- Definieer een Gerrit-eindpunt.
- Klik op en klik op Nieuw eindpunt.
- Selecteer een project en selecteer Gerrit als eindpunttype. Voer vervolgens een naam en een beschrijving in.
- Als dit eindpunt een bedrijfskritisch onderdeel in uw infrastructuur is, moet u Markeren als beperkt inschakelen.
- Voer de URL voor de Gerrit-server in.
Als u de standaardpoort wilt gebruiken, kunt u een poortnummer opgeven met de URL of de waarde leeg laten.
- Voer een gebruikersnaam en wachtwoord in voor de Gerrit-server.
Als het wachtwoord moet worden versleuteld, klikt u op
Variabele maken en selecteert u het type:
- Geheim. Het wachtwoord wordt omgezet wanneer een gebruiker met een rol de pijplijn uitvoert.
- Beperkt. Het wachtwoord wordt omgezet wanneer een gebruiker met een beheerdersrol de pijplijn uitvoert.
Voer als waarde het wachtwoord in dat beveiligd moet zijn, zoals het wachtwoord van een Jenkins-server.
- Voer als persoonlijke sleutel de Secure Shell-sleutel in die wordt gebruikt om veilig toegang te krijgen tot de Gerrit-server.
Deze sleutel is de persoonlijke RSA-sleutel in de directory
.ssh.
- (Optioneel) Als een wachtwoordzin is gekoppeld aan de persoonlijke sleutel, voert u de wachtwoordzin in.
Als u de wachtwoordzin wilt versleutelen, klikt u op
Variabele maken en selecteert u het type:
- Geheim. Het wachtwoord wordt omgezet wanneer een gebruiker met een rol de pijplijn uitvoert.
- Beperkt. Het wachtwoord wordt omgezet wanneer een gebruiker met een beheerdersrol de pijplijn uitvoert.
Voer als waarde de wachtwoordzin in die beveiligd moet zijn, zoals de wachtwoordzin voor een SSH-server.
- Klik op Valideren en controleer of het Gerrit-eindpunt in Code Stream verbinding maakt met de Gerrit-server.
Corrigeer eventuele fouten als er geen verbinding wordt gemaakt en klik vervolgens op
Valideren.
- Klik op Maken.
- Controleer of FIPS is ingeschakeld voor de vRealize Automation-omgeving of laat uw Jenkins-taak de omgeving maken waarbij FIPS is ingeschakeld met behulp van de Jenkins-URL.
- Als u de opdracht via de opdrachtregel wilt uitvoeren, maakt u via SSH verbinding met uw vRealize Automation 8.x-appliance en meldt u zich als rootgebruiker aan. Maak bijvoorbeeld verbinding met de URL van uw volledig gekwalificeerde domeinnaam, zoals https://cava-1-234-567.yourcompanyFQDN.com op poort 22, 5480 of 443.
- Voer de opdracht vracli security fips uit om te controleren op FIPS op vRealize Automation.
- Controleer of de opdracht
FIPS mode: strict
retourneert.
- Als uw Gerrit-server een eindpunt is in een vRealize Automation-instantie waarvoor FIPS is ingeschakeld, moet u controleren of het configuratiebestand voor de Gerrit-server de juiste MAC-sleutels (Message Authentication Code) bevat.
- Open Gerrit en maak een SSH-sleutelpaar.
- Zoek het configuratiebestand van de Gerrit-server op '$site_path'/etc/gerrit.config.
- Controleer of het configuratiebestand van de Gerrit-server een of meer MAC-sleutels bevat, met uitzondering van
hmac-MD5
.
Opmerking: In de FIPS-modus is
hmac-MD5
geen ondersteund MAC-algoritme. Om ervoor te zorgen dat de Gerrit-server correct wordt gestart, moet het configuratiebestand van de Gerrit-server dit algoritme uitsluiten. Als de Gerrit-server niet correct wordt gestart, wordt het volgende bericht weergegeven:
PrivateKey/PassPhrase is incorrect
Ondersteunde MAC-sleutelnamen (Message Authentication Code) die beginnen met een plusteken (+) zijn ingeschakeld. De MAC-sleutelnamen die beginnen met een koppelteken (-), worden verwijderd uit de lijst met standaard-MAC's. Deze ondersteunde MAC's zijn standaard beschikbaar in
Code Stream voor de Gerrit-server:
hmac-md5-96
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
- (Optioneel) Voordat u een Gerrit-eindpunt bijwerkt om een URL of persoonlijke sleutel te wijzigen, controleert u of het eindpunt is verbonden met een Gerrit-luisteraar.
- Als het eindpunt niet is verbonden met een Gerrit-luisteraar, voert u de volgende stappen uit om het eindpunt bij te werken:
- Klik op en klik op Open op het eindpunt dat u wilt bijwerken.
- Werk de eindpuntdefinitie bij.
- Klik op Validatie en controleer of het Gerrit-eindpunt in Code Stream verbinding maakt met de Gerrit-server.
- Klik op Opslaan.
- Als het eindpunt is verbonden met een Gerrit-luisteraar, voert u de volgende stappen uit om het eindpunt bij te werken:
- Koppel gekoppelde Gerrit-luisteraars los. Zie Hoe gebruik ik de Gerrit-trigger in Code Stream om een pijplijn uit te voeren?.
- Voer de stappen uit om het nieuwe eindpunt te configureren.
- Valideer de bijgewerkte eindpuntdefinitie en sla deze op.
- Verbind de Gerrit-luisteraars opnieuw.
Opmerking: Als de Gerrit-luisteraars de verbinding niet verbreken, is dit mogelijk omdat de huidige Gerrit-eindpuntwaarden zijn gewijzigd zodat de luisteraars niet meer kunnen communiceren met de Gerrit-server. Als dit probleem optreedt, moet u eerst wijzigingen in de eindpuntdefinitie aanbrengen zodat de luisteraars met de Gerrit-server kunnen communiceren. Verbreek vervolgens de verbinding met de Gerrit-luisteraars en maak er opnieuw verbinding mee.