
Continuous integration en continuous deployment zijn twee van de kern opdrachtgevers van DevOps. Automatiseert het build en deployment processen kunnen software ontwikkeling teams om kleinere wijzigingen meer vaak.
Automatisering grenzen bugs vanwege de code van het andere team leden schrijven, als de code is uitgecheckt. Om dit te behalen voordeel, een hoge graad van automatisering en instrumentatie is noodzakelijk. Voer Jenkins.
Jenkins is een van de meest populaire en flexibele open-source orchestration tools die er zijn. Het maakt niet uit als je werkt aan een legacy-monolith of micro-diensten, on-premise of in de cloud, Jenkins kan helpen.
In dit artikel om te begrijpen hoe Jenkins build servers werken gaan we lopen door de grondbeginselen van hoe je een Jenkins server draait. We gaan het pollen van een lokale Git repository, en een aantal PowerShell code wanneer een wijziging wordt aangebracht in het archief om een idee te krijgen van de workflow.
Voorwaarden
We hands-on in dit artikel. Als u wilt volgen, zorg ervoor dat u een paar voorwaarden in de plaats:
- Een Mac -, Linux-of Windows-apparaat met:
- Java 1.7 of hoger (Jenkins draait op Java)
- Een package manager (Chocolatey, Homebrew, apt, yum, enz.)
- Een web browser (Chrome, Firefox, of een Chroom-gebaseerde browser werkt het beste)
- Git (deze Kunt installeren met de package manager)
- Een Git repository
Het Installeren Van Jenkins
U kunt het installeren van Jenkins op tal van manieren, die elk van hen het monteren van een ander platform en use case. Als u het bouwen van een productie-server, wilt u misschien overwegen het gebruik van een andere methode van het getoonde, maar de eenvoudigste manier om het installeren van Jenkins is met een package manager.
In Windows, hebt u waarschijnlijk gebruik Chocolatey, op MacOS Homebrew, en op Linux het hangt af van welke distributie van Linux die u gebruikt.
Als je eenmaal hebt geïnstalleerd Jenkins, kunt u het openen in uw webbrowser. Open uw browser en ga naar [localhost:8080](http://localhost:8080) , en je ziet Jenkins starten of wachten voor een initieel wachtwoord.
localhost verwijst naar de Jenkins-service die wordt nu uitgevoerd op uw apparaat tijdens poort 8080 is de standaard Jenkins UI haven.
Het vinden van het Wachtwoord van de Beheerder
Op de eerste pagina, Jenkins schrijft een one-time password naar een bestand, daarna geeft u de locatie van het bestand. Dit proces zorgt ervoor dat u toegang tot het bestandssysteem van het systeem dat u de app heeft geïnstalleerd.
Het wachtwoord te krijgen van dit bestand, voert u deze in in het vak Administrator-wachtwoord weergegeven in de screenshot hieronder om verder te gaan.
Het Installeren Van De Initiële Plugins
Volgende, Jenkins zal u vragen of wilt u om te kiezen de plugins te installeren, of gebruik de aanbevolen standaardinstellingen. Plugins zijn hoe Jenkins wisselwerking met andere componenten en diensten. U installeert meer plugins later, maar voor nu, de standaardinstellingen te selecteren.
Het opzetten van een Admin Gebruiker
Na een paar minuten, moet u setup uw eerste Jenkins admin-gebruiker. Dit kan later veranderd worden, maar het is belangrijk om te kiezen een die je zal onthouden ten minste tijdens het installatie proces, zoals hieronder.
Het definiëren van de Jenkins URL
Vervolgens wordt u gevraagd om de Jenkins URL. Dit proces is niet van plan om te doen een DNS of domain registratie en heeft geen effect op hoe u toegang Jenkins. Er is geen zorgen te maken over de URL voor deze oplossing. Maar de URL zal worden gebruikt in een webhooks en omgevingsvariabelen die Jenkins maakt.
Als dit voor een productie systeem, wilt u misschien overwegen het kopen van een domein en het geven van Jenkins een subdomein te gebruiken. (Bijvoorbeeld: jenkins.mydomain.com)
Zodra u klikt op Opslaan en klaar, je bent genomen om een lege Jenkins pagina zoals deze hieronder.
Het Installeren Van Plugins
Nu dat Jenkins is up and running, moet je iets weten over: out of the box en Jenkins niet zo veel te doen. Om het meeste uit van Jenkins, moet u het installeren van plugins.
Plugins zijn open-source-pakketten die samenwerken met andere programma ‘ s en diensten binnen de Bouw.
U kunt u plugins voor alles van een extra versie controle systemen en cloud providers, voor Chuck Norris.
PowerShell is een onderdeel van de eisen van dit artikel. Als zodanig, moet u de PowerShell plugin en misschien is de Chuck Norris ook.
Chuck Norris doesn ‘ t break bouwt, onwaardig bouwt stoppen in hun sporen in zijn aanwezigheid.
Klik op Beheren Jenkins in het menu aan de linkerkant, dan vinden de puzzel stuk pictogram dat leest het Beheren van plug-ins. Klik vervolgens onder het tabblad Beschikbaar is, kunt u bladeren rond en zie wat er beschikbaar is.
Klik op het selectievakje naast de PowerShell plugin en klik op Installeren zonder opnieuw te starten.
Het opzetten van een Git Repository
Het volgende dat we moeten doen is het opzetten van onze git repository. Jenkins polls dit archief voor veranderingen te bouwen. Voor de repository-URL en klonen, maar sla de URL want je moet het in de volgende stap.
Terug in Jenkins, selecteer Nieuw Item in de linker bovenhoek, klik dan op Freestyle Project en geef het een naam. Een goede naam moet uniek zijn Jenkins, maar beschrijft ook snel welke taak het is te doen op welk project.
De volgende pagina die u genomen, is het Configureren Project pagina. Dit lijkt misschien overweldigend, maar maak je geen zorgen over het nu. Zelfs in de productie van, het zal u niet gebruik maken van de meeste van deze want terwijl elk van deze opties heeft een use case voor iemand, niet alle van hen zal passen bij uw gebruik van het geval.
Als je naar beneden scrollt de pagina configuratie merkt de vele beschikbare opties. Hieronder vindt u van elke optie en de waarde die moet worden verstrekt voor deze demonstratie.
Source Code Management
Klik op Git en voer vervolgens uw repository-URL in het URL-veld. Laat de rest van de instellingen als standaard. Dit gaat vertellen Jenkins een peiling van het archief voor eventuele wijzigingen op de master branch want dat is de standaard instelling.
Het Bouwen Van Triggers
Selecteer Poll SCM, dan voert u * * * * * in het Schema veld. Dit is een cron timer die polls voor wijzigingen van het archief van elke minuut.
Bouwen
Onder de Voeg Bouwen Stap vervolgkeuzelijst, selecteer Windows PowerShell en voer de Voor-ChildItem $ENV:WERKRUIMTE in het veld Opdracht. Deze opdracht maakt gebruik van een ingebouwde Jenkins variabele (die onder meer in-diepte kort) een lijst van bestanden in het archief waar je naar kijkt.
(Optioneel) Post-Build Acties
Als u de installatie van de Chuck Norris plugin eerder, selecteer Activeren Chuck Norris van het Toevoegen Post-build stap dropdown toe te voegen, de Chuck Norris plugin visuele effect van de baan. Jenkins eigenlijk niet activeert Chuck Norris, Jenkins ziet er gewoon voor zijn goedkeuring.
Het uitvoeren van het Bouwen
Alle Jenkins bouwt plaatsvinden in een werkruimte die een map op het Jenkins-server. De test project dat u hierboven omschreven klonen van het archief van de git URL in die werkruimte, dan loopt het bouwen stappen als .ps1 script.
Vroeger toen u $ENV:WERKRUIMTE in de bouw stap, die u zich misschien hebben afgevraagd waar die variabele vandaan komt. Jenkins geeft een aantal omgevingsvariabele in de runtime van elke opdracht, met inbegrip van $ENV:WERKRUIMTE, die wijst naar het pad van de gekloonde archief.
Nu is uw taak is geconfigureerd, wordt het tijd om het te testen. U kunt een van de volgende twee manieren: Ofwel op een nieuwe commit naar de gegevensopslagruimte en wacht Jenkins om de poll te wijzigen, of druk op de Build-Nu-knop aan de linkerkant van de pagina. Welke methode je ook kiest, het leidt tot een nieuwe run van dit Jenkins baan, wat betekent dat uw home pagina moet er nu zo uitzien:
Voor een definitieve gezondheid te controleren om ervoor te zorgen dat onze taak is uitgevoerd, klikt u op de build-nummer dat onder het Bouwen van de Geschiedenis. Deze pagina toont je een aantal details zoals de veranderingen die de aanleiding tot het bouwen, wat de git commit-ID is, en die gebruiker ingedrukt die commits.
Voor nog meer details, klik op Console-Uitvoer aan de linkerkant van het scherm en je zult zien elke opdracht stap Jenkins nam tijdens het uitvoeren van het bouwen.
Omdat deze versie ook een Get-ChildItem op de Jenkins werkruimte, de uitvoer van de cmdlet aan de onderkant van de console-uitvoer zoals hieronder is weergegeven.
Samenvatting
Nu dat je weet hoe je een setup Jenkins server, het installeren van plugins, en een taak uitvoeren, moet u een kijkje nemen op de beschikbare Jenkins plug-ins van het Beheren van Plugins pagina die eerder zijn genoemd. Niet alle van hen zal passen bij uw behoeften, maar ze passen allemaal in een behoefte en is misschien de moeite waard is te weten over.
Als je GitHub enterprise, kunt u uw GitHub account aan Jenkins om dingen te doen zoals vereist status controleert voordat het samenvoegen van de knie, het automatiseren van implementaties van de bron, en het uitvoeren van een CI pijplijn tegen eventuele nieuwe wijzigingen aan de code. Veel plezier!