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
admin:info:jenkins [2019-01-22 12:56]
jrt
admin:info:jenkins [2022-05-23 11:13] (aktuell)
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/attic/admin/info/jenkins.1548158160.txt.gz · Zuletzt geändert: 2019-01-22 12:56 von jrt
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0