Code Stream biedt een Jenkins-invoegtoepassing die Jenkins-taken activeert om uw broncode te bouwen en testen. De Jenkins-invoegtoepassing voert testcases uit en kan custom scripts gebruiken.
Om een Jenkins-taak in uw pijplijn uit te voeren, gebruikt u een Jenkins-server en voegt u het Jenkins-eindpunt toe in Code Stream. Vervolgens maakt u een pijplijn en voegt u hieraan een Jenkins-taak toe.
Wanneer u de Jenkins-taak en een Jenkins-eindpunt in Code Stream gebruikt, kunt u een pijplijn maken die opdrachten met meerdere takken in Jenkins ondersteunt. De opdracht met meerdere takken omvat individuele opdrachten in elke tak van een Git-opslagplaats. Wanneer u pijplijnen in Code Stream maakt die opdrachten met meerdere takken ondersteunen:
- De Jenkins-taak kan Jenkins-opdrachten uitvoeren die zich in meerdere mappen op de Jenkins-server bevinden.
- U kunt het pad naar de map in de Jenkins-taakconfiguratie overschrijven zodat deze een ander mappad gebruikt, dat het standaardpad overschrijft dat op het Jenkins-eindpunt in Code Stream is gedefinieerd.
- Pijplijnen met meerdere takken in Code Stream detecteren Jenkins-opdrachtbestanden van het type .groovy in een Git-opslagplaats of een GitHub-opslagplaats en beginnen met het maken van opdrachten voor elke tak die in de opslagplaats wordt gescand.
- U kunt het standaardpad dat op het Jenkins-eindpunt is gedefinieerd, overschrijven met een pad dat is opgegeven in de Jenkins-taakconfiguratie en een opdracht en pijplijn uitvoeren die zijn gekoppeld aan elke tak in een Jenkins-hoofdopdracht.
Voorwaarden
- Stel een Jenkins-server in waarop versie 1.561 of hoger wordt uitgevoerd.
- 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?.
- Controleer of er een taak bestaat op de Jenkins-server, zodat de pijplijntaak deze kan uitvoeren.
Procedure
- Een Jenkins-eindpunt toevoegen en valideren.
- Klik op .
- Selecteer een project en selecteer Jenkins 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 Jenkins-server in.
- Voer de gebruikersnaam en het wachtwoord in om u aan te melden op de Jenkins-server. Voer vervolgens de resterende informatie in.
Tabel 1.
Resterende informatie voor het Jenkins-eindpunt
Eindpunt-invoer |
Beschrijving |
Pad naar de map |
Pad voor de map waarin uw taken zijn gegroepeerd. Jenkins kan alle taken in de map uitvoeren. U kunt submappen maken. Bijvoorbeeld:
- folder_1 kan job_1 bevatten
- folder_1 kan folder_2 bevatten, die job_2 kan bevatten
Wanneer u een eindpunt maakt voor folder_1, is het pad naar de map job/folder_1 en vermeldt het eindpunt alleen job_1. Om de lijst met opdrachten in de onderliggende map folder_2 te verkrijgen, moet u een ander eindpunt maken dat /job/folder_1/job/folder_2/ als pad naar de map gebruikt. |
Mappad voor Jenkins-opdrachten met meerdere takken |
Om Jenkins-opdrachten met meerdere takken te ondersteunen, voert u in de Jenkins-taak het volledige pad in dat de Jenkins-server-URL en het volledige opdrachtpad bevat. Wanneer u een mappad in de Jenkins-taak opneemt, overschrijft dat pad het pad dat op het Jenkins-eindpunt wordt weergegeven. Met het aangepaste mappad in de Jenkins-taak, geeft Code Stream alleen opdrachten weer die in die map aanwezig zijn.
- Bijvoorbeeld: https://server.yourcompany.com/job/project
- Als de pijplijn ook de belangrijkste Jenkins-opdracht moet activeren, gebruikt u: https://server.yourcompany.com/job/project/job/main
|
URL |
Host-URL van de Jenkins-server. Voer de URL in als protocol://host:port. Bijvoorbeeld: http://192.10.121.13:8080 |
Pollinginterval |
Intervalduur voor Code Stream om de Jenkins-server te pollen voor updates. |
Aantal keer dat een aanvraag herhaald wordt |
Aantal keren dat de geplande bouwaanvraag voor de Jenkins-server opnieuw moet worden geprobeerd. |
Wachttijd voor nieuwe poging |
Aantal seconden dat moet worden gewacht voordat de bouwaanvraag voor de Jenkins-server opnieuw wordt geprobeerd. |
- Klik op Valideren en controleer of het eindpunt verbinding maakt met Code Stream. Corrigeer eventuele fouten als er geen verbinding wordt gemaakt en klik vervolgens op Opslaan.
- Om uw code te bouwen, maakt u een pijplijn en voegt u een taak toe die gebruikmaakt van uw Jenkins-eindpunt.
- Klik op .
- Klik op de standaardfase.
- Voer in het Taak-gebied een naam voor de taak in.
- Selecteer Jenkins als taaktype.
- Selecteer het Jenkins-eindpunt dat u heeft gemaakt.
- Selecteer in het vervolgkeuzemenu een taak van de Jenkins-server die door uw pijplijn wordt uitgevoerd.
- Voer de parameters voor de taak in.
- Voer het verificatietoken voor de Jenkins-taak in.
- Schakel uw pijplijn in en voer deze uit. Bekijk de uitvoering van de pijplijn.
- Bekijk de details en status van de uitvoering op het pijplijndashboard.
U kunt eventuele fouten identificeren en zien waarom het is mislukt. U kunt ook trends zien over de uitvoeringsduur, voltooiingen en fouten van de pijplijn.
resultaten
Gefeliciteerd! U heeft Code Stream geïntegreerd met Jenkins door een eindpunt toe te voegen, een pijplijn te maken en een Jenkins-taak te configureren die uw code bouwt.
Voorbeeld: Voorbeeld van YAML voor een Jenkins-bouwtaak
Voor het type Jenkins-bouwtaak dat in dit voorbeeld wordt gebruikt, lijkt de YAML op de volgende code, waarbij meldingen zijn ingeschakeld:
test:
type: Jenkins
endpoints:
jenkinsServer: jenkins
input:
job: Add two numbers
parameters:
Num1: '23'
Num2: '23'
Volgende stappen
Bekijk de overige secties voor meer informatie. Zie Code Stream verbinden met eindpunten.