Bearbeiten von „UUGRN:Buildsystem“

Aus UUGRN

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 1: Zeile 1:
Ein wichtiger Bestandteil der {{UUGRN}}-Infrastruktur ist das '''Buildsystem'''. Hier werden alle Aspekte der FreeBSD Systempflege verwaltet, zum Beispiel Update von Source und Ports, Bau von Userlands und Packages.
+
Ein wichtiger Bestandteil der {{UUGRN}}-Infrastruktur ist das '''Buildsystem'''. Hier werden alle Aspekte der FreeBSD Systempflege verwaltet, zum Beispiel  
  
 
== Hauptkomponenten ==
 
== Hauptkomponenten ==
Zeile 109: Zeile 109:
 
** Bau von essenziellen Packages in den gewünschen Versionen (db46, sqlite3, apache24, mysql55, perl5.14)
 
** Bau von essenziellen Packages in den gewünschen Versionen (db46, sqlite3, apache24, mysql55, perl5.14)
 
** (Neu) Bau von allen anderen Packages, ca 50-100 Packages werden derzeit explizit gebaut was mit Abhängigkeiten ca 800 Packages ergibt
 
** (Neu) Bau von allen anderen Packages, ca 50-100 Packages werden derzeit explizit gebaut was mit Abhängigkeiten ca 800 Packages ergibt
 
Sofern der Build ohne erkennbare Fehler durchgelaufen ist, werden alle Packages nach /freebsd/uugrn/dev/ kopiert, wo sie für halb- und vollautomatische QA-Prozesse zur Verfügung stehen.
 
 
Außerdem wird dieser Build in Form eines Images eingefroren und unter /freebsd/uugrn/dev/images/ abgelegt, zum Beispiel /freebsd/uugrn/dev/images/FreeBSD-9.1-RELEASE-amd64-image-build-20130824004822.tar . Dieses Build-Image wird dann im Rahmen des QA-Prozesses untersucht. Sollte es hier keine Auffälligkeiten geben, werden die enthaltenen Ports und Packages und Images aus diesem Build in den QA-Pool übernommen um weitere Prüfungen vorzunehmen.
 
 
  
 
==== Port-Auswahl für den Buildprozess ====
 
==== Port-Auswahl für den Buildprozess ====
Zeile 150: Zeile 145:
 
;webstatic: basiert auf '''uugrn''' und enthält ansonsten nur das Package ''apache24'' plus alle Abhängigkeiten.
 
;webstatic: basiert auf '''uugrn''' und enthält ansonsten nur das Package ''apache24'' plus alle Abhängigkeiten.
 
;webphp: basiert auf '''webstatic''' und darüber hinaus die Packages ''php5 php5-extensions ImageMagick'' plus alle Abhängigkeiten
 
;webphp: basiert auf '''webstatic''' und darüber hinaus die Packages ''php5 php5-extensions ImageMagick'' plus alle Abhängigkeiten
 
Dies so erzeugten Images werden basierend auf dem automatisch gebauten "vanilla" und "uugrn"-Image mit den aktuellen Packages versorgt  und als Image abgelegt unter /freebsd/uugrn/qa/images/. Dabei ist zu beachten, dass der Package-Bau Prozess nicht automatisiert und täglich abläuft sondern manuell. Das Ergebnis dieses Prozesses ist eine Sammlung von Packages, die für das jeweilige Userland-Release, z.B. '''9.1-RELEASE''' gebaut wurden.
 
 
Die Images werden täglich für "QA" neu gebaut.
 
 
== QA-Prozess ==
 
=== Packages ===
 
Für den Package-Build Prozess findet eine formale, automatische Qualitätssicherung statt.
 
 
Hier wird etwa untersucht, ob essenzielle Bibliotheken fehlen, und alle Paketabhängigkeiten exakt passen oder ob es Abweichungen zwischen den Packages und den installierten Dateien gibt (checksummen), passiert wenn Packages unerkannte Konflikte haben und Dateien mit verschiedenem Inhalt überschrieben werden.
 
 
Die erfolgreich geprüften Packages landen dann im "QA"-Pool.
 
 
Falls die Packages fehlerhaft sind, müssen die Fehler korrigiert werden und in einem neuen Build erneut gebaut werden. "Durchgefallene" Packages werden nicht weiter verwendet und werden gelöscht.
 
 
=== Images ===
 
Basierend auf dem nightly-Build des uugrn-Images und den Packages im QA-Pool werden täglich und automatisiert die jeweiligen aufeinander aufbauenden Images erzeugt.
 
 
Ein manueller Rollout dieser Images in temporäre Jails soll Gewissheit schaffen, dass die so gebauten Images insich konsistent sind. Das findet halbautomatisch statt.
 
 
=== Abschluss der Prüfung ===
 
Sofern alle Images für "tauglich" befunden sind, werden die Images und auch die verwendeten Packages in den LIVE-Pool (/freebsd/uugrn/live/) kopiert. Außerdem werden alle Images und Packages auf ftp.uugrn.org hochgeladen und können von dort für den Bau eigener (Sub)Jails verwendet werden.
 
 
  
 
[[Kategorie:UUGRN:Infrastruktur]]
 
[[Kategorie:UUGRN:Infrastruktur]]

Bitte kopiere keine Inhalte, die nicht Deine eigenen sind!

Du gibst uns hiermit Deine Zusage, dass
  • Du den Text nicht aus Wikipedia kopiert hast
  • Du den Text selbst verfasst hast
  • oder der Text entweder
    • Allgemeingut (public domain) ist
    • oder der Copyright-Inhaber seine Zustimmung gegeben hat.
Wichtig
  • Benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!
  • Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der 'Diskussion:'-Seite darauf hin.
  • Bitte beachte, dass alle UUGRN-Beiträge automatisch unter der der Creative Commons Lizenz stehen.
  • Falls Du nicht möchtest, dass Deine Arbeit hier von anderen verändert und verbreitet wird, dann drücke nicht auf "Artikel Speichern".

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)