Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
admin:info:jenkins [2019-01-22 12:56]
jrt
admin:info:jenkins [2022-05-23 11:13]
hbs
Zeile 1: Zeile 1:
 ====== Jenkins ====== ====== Jenkins ======
  
-Auf dem Rechner ​''​siran'' ​ist das Continuous-Integration-Tool ''​jenkins''​ installiert,​ dessen Weboberfläche über https://​jenkins.ps.informatik.uni-kiel.de/​ erreichbar ist. Jenkins kann dafür benutzt werden eventbasiert oder zeitgesteuert bestimmte Aufgaben durchzuführen. An der Arbeitsgruppe wird Jenkins derzeit insbesondere eingesetzt um:+Auf dem Rechner ​LYNCH ist das Continuous-Integration-Tool ''​jenkins''​ installiert,​ dessen Weboberfläche über https://​jenkins.ps.informatik.uni-kiel.de/​ erreichbar ist. Jenkins kann dafür benutzt werden eventbasiert oder zeitgesteuert bestimmte Aufgaben durchzuführen. An der Arbeitsgruppe wird Jenkins derzeit insbesondere eingesetzt um:
  
   * Bei den installierten Webanwendungen automatisch die Installierbarkeit zu testen und alle Testfälle auszuführen   * Bei den installierten Webanwendungen automatisch die Installierbarkeit zu testen und alle Testfälle auszuführen
   * Bei den Curry-Systemen und verwandten Repository die Installation zu testen und Testfälle auszuführen   * Bei den Curry-Systemen und verwandten Repository die Installation zu testen und Testfälle auszuführen
 +  * DEB-Pakete verschiedener Curry-Komponenten für Debian und Ubuntu zu bauen 
  
-''​jenkins'' ​ist direkt als Debian-Paket installiert und läuft unter dem bei der Installation angelegten User ''​jenkins''​Für etwaige Fehlersuchen ist es deshalb ratsam, den öffentlichen SSH-Key der Administratoren als autorisierten Schlüssel zu hinterlegen. Die Aktualisierung erfolgt bequem über die reguläre Paketaktualisierung,​ jediglich die nachträglich installierten Plugins müssen manuell über https://​jenkins.ps.informatik.uni-kiel.de/​pluginManager/​ aktualisiert werden. ​+Der Rechner LYNCH ist ein Jenkins-Master-Server, ​der selbst keine Builds ausführtDer Jenkins-Master Server delegiert alle Jobs an folgende Build-Slaves (oder -Nodes):
  
-Administratoren von Jenkins sind derzeit Finn, Mike und Jan (Stand Januar 2019), langfristig ​ist es sicherlich sinnvoll den Dienst unter einem eigenen Rechner zur Verfügung zu stellen ​und die Administration ​dem Administrator ​der AG zu überlassen.+  * LEPIN: CurryTests auf Debian stretch 
 +  * BELLECOMBE: CurryTests auf Debian buster 
 +  * PORTY und CHEVALBLANC:​ [[admin:​info:​currydebs|CurryDEBs]] 
 +  
 +Die Software ''​jenkins'' ​ist direkt als 3rd-party Debian-Paket installiert ​und läuft unter dem bei der Installation angelegten User ''​jenkins''​. Für etwaige Fehlersuchen ist es deshalb ratsam, den öffentlichen SSH-Key der Administratoren als autorisierten Schlüssel ​zu hinterlegen. Die Aktualisierung erfolgt bequem über die reguläre Paketaktualisierung,​ jediglich die nachträglich installierten Plugins müssen manuell über https://​jenkins.ps.informatik.uni-kiel.de/​pluginManager/​ aktualisiert werden
  
-==== Überblick über die Jenkins-Builds der AG ====+Administratoren von Jenkins sind derzeit Finn, Henrik und Jan (Stand November 2019). 
 + 
 +====== Überblick über die Jenkins-Builds der AG ======
  
 Derzeit (Stand Januar 2019) gibt es an der AG zwei Kategorien von Builds der Derzeit (Stand Januar 2019) gibt es an der AG zwei Kategorien von Builds der
 Curry-Systeme,​ CurryDEBs und CurryTests. Curry-Systeme,​ CurryDEBs und CurryTests.
  
-=== CurryDEBs Builds ===+===== CurryDEBs Builds ​=====
  
-Bei CurryDEBs handelt es sich um Builds, die mit den veröffentlichten+Bei [[admin:​info:​currydebs|CurryDEBs]] handelt es sich um Builds, die mit den veröffentlichten
 Debian-Paketen des PAKCS Curry-Compilers assoziiert sind. Debian-Paketen des PAKCS Curry-Compilers assoziiert sind.
 Dazu zählen Builds des Curry-Frontends bestehend aus den Haskell-Paketen Dazu zählen Builds des Curry-Frontends bestehend aus den Haskell-Paketen
Zeile 23: Zeile 30:
 PAKCS in den Versionen 1.14.x und 1.15.x. PAKCS in den Versionen 1.14.x und 1.15.x.
  
-=== CurryTests Builds ===+ 
 +===== CurryTests Builds ​=====
  
 In die Kategorie CurryTests hingegen werden die Entwicklungsversionen der In die Kategorie CurryTests hingegen werden die Entwicklungsversionen der
Zeile 38: Zeile 46:
  
 Durchgeführt werden die meisten der Builds jeweils auf zwei unterschiedlichen Durchgeführt werden die meisten der Builds jeweils auf zwei unterschiedlichen
-Testsystemen,​ ''​siran''​ und ''​lepin''​. +Testsystemen,​ ''​bellecombe''​ und ''​lepin''​. 
-Auf ''​siran''​ läuft Debian ​(jessie) und auf ''​lepin''​ Debian 9 (stretch).+Auf ''​bellecombe''​ läuft Debian ​10 (buster) und auf ''​lepin''​ Debian 9 (stretch). 
 + 
 +Man aktualisiert die agent.jar Dateien unter ''/​var/​lib/​curry-tester/​jenkins''​ mit 
 +''​wget jenkins.ps.informatik.uni-kiel.de/​jnlpJars/​agent.jar''​
  
 Falls man sich die Builds lokal auf Dateisystemebene ansehen bzw. sie debuggen Falls man sich die Builds lokal auf Dateisystemebene ansehen bzw. sie debuggen
Zeile 57: Zeile 68:
 Pfad ''​jenkins/​workspace/<​name of haskell-based project>/​GHC_VERSION/<​ghc version>/​label/​currytests[-<​debian version>​]''​. Pfad ''​jenkins/​workspace/<​name of haskell-based project>/​GHC_VERSION/<​ghc version>/​label/​currytests[-<​debian version>​]''​.
  
-=== Konfiguration eines Jenkins-Projekts ===+===== Konfiguration eines Jenkins-Projekts ​=====
  
 Wenn man ein neues Jenkins-Projekt anlegt, kann man einige Konfiguration Wenn man ein neues Jenkins-Projekt anlegt, kann man einige Konfiguration
 vornehmen. vornehmen.
  
-== General ==+==== General ​====
  
 Hier kann man unter anderem eine kurze Beschreibung des Projekts Hier kann man unter anderem eine kurze Beschreibung des Projekts
Zeile 68: Zeile 79:
 aufgehoben werden sollen. aufgehoben werden sollen.
  
-== Source Code Management ==+==== Source Code Management ​====
  
 Hier wird die URL des auszucheckenden git-Repositories angegeben. Hier wird die URL des auszucheckenden git-Repositories angegeben.
Zeile 75: Zeile 86:
 (vgl. ''​kics2''​). (vgl. ''​kics2''​).
  
-== Build Triggers ==+==== Build Triggers ​====
  
 Hier kann konfiguriert werden, in welchen zeitlichen Abständen der Build Hier kann konfiguriert werden, in welchen zeitlichen Abständen der Build
Zeile 84: Zeile 95:
 aufbaut. aufbaut.
  
-== Configuration Matrix ==+==== Configuration Matrix ​====
  
 Hier kann man beispielsweise Umgebungsvariablen definieren, die für die Builds Hier kann man beispielsweise Umgebungsvariablen definieren, die für die Builds
Zeile 107: Zeile 118:
 durchgeführt werden sollen, die mindestens die Version ''​8.4.3''​ aufweisen. durchgeführt werden sollen, die mindestens die Version ''​8.4.3''​ aufweisen.
  
-== Build Environment ==+==== Build Environment ​====
  
 Hier kann man die Umgebung der Builds konfigurieren. Hier kann man die Umgebung der Builds konfigurieren.
Zeile 113: Zeile 124:
 werden soll. Außerdem kann man unter anderem die Ausgabekonsole konfigurieren. werden soll. Außerdem kann man unter anderem die Ausgabekonsole konfigurieren.
  
-== Build ==+==== Build ====
  
 An dieser Stelle werden die Befehle angegeben, die bei Durchführung eines An dieser Stelle werden die Befehle angegeben, die bei Durchführung eines
Zeile 123: Zeile 134:
 Pakets/​Compilers ausgeführt. Pakets/​Compilers ausgeführt.
     ​     ​
-== Post-build Actions ==+==== Post-build Actions ​====
  
 Hier können Einstellungen vorgenommen werden, was nach Durchführung eines Builds Hier können Einstellungen vorgenommen werden, was nach Durchführung eines Builds
-gemacht werden ​sollen.+gemacht werden ​soll.
 Beispielsweise können Builds anderer Jenkins-Projekte angestoßen werden. Beispielsweise können Builds anderer Jenkins-Projekte angestoßen werden.
 Dies passiert zum Beispiel im Falle der ''​curry-base''​-Builds (es werden Dies passiert zum Beispiel im Falle der ''​curry-base''​-Builds (es werden
/srv/dokuwiki/adminwiki/data/pages/admin/info/jenkins.txt · Zuletzt geändert: 2024-03-13 12:46 von hbs
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0