Autor Thema: Nightly Builds  (Gelesen 12201 mal)

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« am: 15. July 2012, 23:37 »
Wollt ihr wieder nightlys haben? Mein Server dreht immernoch Däumchen^^

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 16. July 2012, 09:19 »
Ich glaube, da hätte niemand was dagegen, wenn du Nightlies bauen und zur Verfügung stellen willst. Sag Bescheid, wenn du Unterstützung brauchst, aber eigentlich sollte es ja offensichtlich sein, was man tun muss.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #2 am: 16. July 2012, 11:51 »
OK, dann werde ich das mal in Angriff nehmen^^
Ich melde mich wenn es läuft :)

Na, doch noch nicht ganz IPv6 tauglich? ;)
git.tyndur.org[0: 2001:470:1f0b:dbe::10]: errno=Connection timed out
Der scheint das über IPv4 gemacht zu haben
« Letzte Änderung: 16. July 2012, 19:55 von LittleFox »

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #3 am: 16. July 2012, 19:58 »
Natürlich gibt es doch Probleme ...
Ich kann keine Images bauen weil der vServer keine Loop-Devices hat :(
Gibt es da evt. einen anderen Weg?

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 16. July 2012, 22:41 »
Eventuell kann man was mit debugfs basteln, aber das könnte etwas unschön werden...
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #5 am: 16. July 2012, 22:46 »
Kannst du mir da noch einen Tipp mehr geben?
Ansonsten kann ich versuchen auf meinem Raspberry bauen zu lassen - dann ist eine Version aber wahrscheinlich erst nach einer Stunde fertig^^

Btw.: kannst du das evt. in einen neuen Thread verschieben? Passt hier ja eig. nicht so gut rein ...

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #6 am: 16. July 2012, 23:36 »
Ich glaub ich werde einfach mal schnell ein Programm zusammenhacken um ein FAT Dateisystem wie eine tar Datei anzusprechen^^
FAT ist ja simpel und würde für diesen Zweck ja ausreichen :D

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 17. July 2012, 00:16 »
Normales FAT ohne lange Dateinamen dürfte nicht ausreichen. Mal ganz abgesehen davon, dass der tyndur-FAT-Treiber wesentlich instabiler als der ext2-Treiber ist.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #8 am: 17. July 2012, 00:21 »
wenn das so ist werce ich mich morgen - pardon, nachher etwas mit debugfs beschäftigen^^
oder einen x86 cross compiler für arm suchen

Svenska

  • Beiträge: 1 778
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 17. July 2012, 06:53 »
Es gibt sowas wie die mtools auch für ext2, heißt dann e2tools. Damit kannst du direkt auf den Image-Dateien arbeiten.

Gruß,
Svenska

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #10 am: 11. January 2015, 13:18 »
Nightlies gibts jetzt hier:
http://build.lf-net.org/tyndur/

Ich hab das lpt-Repository in setup reingepatcht, kann also einfach ausgewählt werden. Werde auch noch weitere lbuilds bauen und da veröffentlichen :)

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #11 am: 29. February 2016, 20:55 »
Ich verwende mal das Thema hier wieder, passt ja.

Nightly-Builds werden jetzt über meine Jenkins-Instanz erzeugt:
https://praios.lf-net.org/jenkins/job/T%C3%BDndur/

Ich werde auch versuchen dort noch lpt mit rein zu nehmen, kann aber noch nicht sagen wann ich das mache ... ^^
Das ist aktuell vanilla-Code ohne irgendwelche Patches oder so.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 01. March 2016, 09:32 »
Sehr cool. Jetzt müssen wir nur noch schauen, dass sich der Code auch ab und zu ändert. ;)

In Bezug auf lpt sollten wir uns bei Gelegenheit übrigens mal was einfallen lassen, wie wir automatisch Pakete auf Images vorinstallieren können.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #13 am: 01. March 2016, 11:28 »
Am coolsten wäre ja die lpt-Pakete alle als eigene Jobs im Jenkins einzutragen, dann werden die getrennt als OK/FAIL angezeigt und können einzeln aktualisiert werden.
Dafür wäre es am coolsten wenn jedes ein eigenes Git-Repo hätte ... Kann man ja per Submodul in das große Repo mit einbinden.

Dann noch ein Script um das automatisch in ein lpt-Repo zu pushen und das Repo im Image mit drin wäre schonmal ne richtige Distri^^
Und zum Schluss noch eine Standardauswahl an Paketen als Config-Datei mit ins Týndur-Repo und beim Image bauen die lpt-Pakete in das rootfs rein entpacken

Zum Schluss noch automatisch bauen wenn jemand pusht und fertig ist das coole automagische Buildsystem :D

*träumt vor sich hin

Btw.: möchte jemand einen Jenkins-Zugang für Týndur? Würde für Vertrauenswürdige Personen einen einrichten.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 01. March 2016, 12:04 »
Am coolsten wäre ja die lpt-Pakete alle als eigene Jobs im Jenkins einzutragen, dann werden die getrennt als OK/FAIL angezeigt und können einzeln aktualisiert werden.
Dafür wäre es am coolsten wenn jedes ein eigenes Git-Repo hätte ... Kann man ja per Submodul in das große Repo mit einbinden.
Hm, braucht es das? Kann man nicht mehrere Jobs pro Repository definieren?

Zitat
Dann noch ein Script um das automatisch in ein lpt-Repo zu pushen und das Repo im Image mit drin wäre schonmal ne richtige Distri^^
Dieser Teil sollte eigentlich kein großer Aufwand sein. Lokal bei mir habe ich ja auch schon ein Skript, das lpt-Pakete einsammelt, ins lpt-Repo und eine packages.i386 erstellt. Mein Skript nimmt allerdings nur den Dateinamen auseinander und hat keine Paketbeschreibungen und so. Das sollte man richtig machen und die Paketinformationen aus dem Tarball nehmen. Aber das ist alles kein Hexenwerk.

Zitat
Und zum Schluss noch eine Standardauswahl an Paketen als Config-Datei mit ins Týndur-Repo und beim Image bauen die lpt-Pakete in das rootfs rein entpacken
Dieser Teil ist ein bisschen tricky weil die Pakete Postinstall-Skripte haben, die natürlich unter tyndur laufen müssen und nicht unter dem Hostsystem. Das heißt, da müsste man einen qemu starten mit einem vollständig automatisiert laufenden tyndur, das die Skripte abarbeitet und dann herunterfährt.

Zitat
Zum Schluss noch automatisch bauen wenn jemand pusht und fertig ist das coole automagische Buildsystem :D
Was brauchst du für sowas? Die entsprechenden git-Hooks gibt es ja, wenn ich da irgendeinen HTTP-Request abschicken muss oder so, ist das machbar.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #15 am: 01. March 2016, 12:37 »
Am coolsten wäre ja die lpt-Pakete alle als eigene Jobs im Jenkins einzutragen, dann werden die getrennt als OK/FAIL angezeigt und können einzeln aktualisiert werden.
Dafür wäre es am coolsten wenn jedes ein eigenes Git-Repo hätte ... Kann man ja per Submodul in das große Repo mit einbinden.
Hm, braucht es das? Kann man nicht mehrere Jobs pro Repository definieren?
klar geht das, aber ich sag halt pro Job ein Repository und jeder Job wird in seinem eigenen Workspace ausgeführt. Schritt 1 ist halt git clone/pull. Mir erscheint es etwas bloated für jedes kleine Programm das komplette lpt-Repo zu haben^^

Zitat
Dann noch ein Script um das automatisch in ein lpt-Repo zu pushen und das Repo im Image mit drin wäre schonmal ne richtige Distri^^
Dieser Teil sollte eigentlich kein großer Aufwand sein. Lokal bei mir habe ich ja auch schon ein Skript, das lpt-Pakete einsammelt, ins lpt-Repo und eine packages.i386 erstellt. Mein Skript nimmt allerdings nur den Dateinamen auseinander und hat keine Paketbeschreibungen und so. Das sollte man richtig machen und die Paketinformationen aus dem Tarball nehmen. Aber das ist alles kein Hexenwerk.
cool :)

Zitat
Und zum Schluss noch eine Standardauswahl an Paketen als Config-Datei mit ins Týndur-Repo und beim Image bauen die lpt-Pakete in das rootfs rein entpacken
Dieser Teil ist ein bisschen tricky weil die Pakete Postinstall-Skripte haben, die natürlich unter tyndur laufen müssen und nicht unter dem Hostsystem. Das heißt, da müsste man einen qemu starten mit einem vollständig automatisiert laufenden tyndur, das die Skripte abarbeitet und dann herunterfährt.

Zitat
Zum Schluss noch automatisch bauen wenn jemand pusht und fertig ist das coole automagische Buildsystem :D
Was brauchst du für sowas? Die entsprechenden git-Hooks gibt es ja, wenn ich da irgendeinen HTTP-Request abschicken muss oder so, ist das machbar.

Ja, einfach die Adresse https://praios.lf-net.org/jenkins/job/T%C3%BDndur/build POSTen^^
Dann wird automagisch gebaut :)

EDIT: upps, zwei Zitate zusammengeworfen ...
Nen Tyndur-Qemu kann ich starten, Jenkins kann den KVM-Host unter Praios steuern (und tut das z.B. für Ingerimm)
« Letzte Änderung: 01. March 2016, 12:59 von LittleFox »

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #16 am: 01. March 2016, 13:52 »
klar geht das, aber ich sag halt pro Job ein Repository und jeder Job wird in seinem eigenen Workspace ausgeführt. Schritt 1 ist halt git clone/pull. Mir erscheint es etwas bloated für jedes kleine Programm das komplette lpt-Repo zu haben^^
Naja, die Größe des lpt-Repos ist echt überschaubar, da sind ja nur ein paar Skripte und Patches drin:
$ du -sh lbuilds/
2,6M    lbuilds/

Was du aber auf jeden Fall haben willst ist ein persdistenter lokaler Cache von den Tarballs, die lbuilds runterlädt. Also vermutlich distfiles/ als Symlink auf ein gemeinsames Verzeichnis außerhalb des temporären Testverzeichnisses. (Ich gehe jedenfalls davon aus, dass jeder Build in einem sauberen Verzeichnis gestartet wird?)

Zitat
Ja, einfach die Adresse https://praios.lf-net.org/jenkins/job/T%C3%BDndur/build POSTen^^
Dann wird automagisch gebaut :)
Kann ich heute abend mal versuchen, wenn ich ein paar freie Minuten habe.

Zitat
Nen Tyndur-Qemu kann ich starten, Jenkins kann den KVM-Host unter Praios steuern (und tut das z.B. für Ingerimm)
Ok, dann könnte das klappen. Dürfte trotzdem noch ein bisschen Gebastel geben bis das dann tut, aber du willst ja auch noch ein bisschen was zu tun haben. ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

LittleFox

  • Beiträge: 304
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #17 am: 01. March 2016, 14:06 »
klar geht das, aber ich sag halt pro Job ein Repository und jeder Job wird in seinem eigenen Workspace ausgeführt. Schritt 1 ist halt git clone/pull. Mir erscheint es etwas bloated für jedes kleine Programm das komplette lpt-Repo zu haben^^
Naja, die Größe des lpt-Repos ist echt überschaubar, da sind ja nur ein paar Skripte und Patches drin:
$ du -sh lbuilds/
2,6M    lbuilds/

Was du aber auf jeden Fall haben willst ist ein persdistenter lokaler Cache von den Tarballs, die lbuilds runterlädt. Also vermutlich distfiles/ als Symlink auf ein gemeinsames Verzeichnis außerhalb des temporären Testverzeichnisses. (Ich gehe jedenfalls davon aus, dass jeder Build in einem sauberen Verzeichnis gestartet wird?)

Stimmt, das ist echt überschaubar. distfiles symlinken klingt ok, besser wäre den distfiles-Ordner per Umgebungsvariable ändern zu können, dann kann ich das komplett in Jenkins machen - sonst brauch ich noch mehr Scripte im Jenkins :D
Ich kann saubere Builds machen, würde mir das für nightlies aber gerne sparen ;)
Kann auch noch ein Release-Target machen, das nur bei Tags gebaut wird - und das dann sauber^^

Zitat
Ja, einfach die Adresse https://praios.lf-net.org/jenkins/job/T%C3%BDndur/build POSTen^^
Dann wird automagisch gebaut :)
Kann ich heute abend mal versuchen, wenn ich ein paar freie Minuten habe.
Cool - kannst ja sehen ob es klappt wenn mal nicht Mitternacht gebaut wurde und ich  das nicht ausgelöst hab, sollte beides für nicht-eingeloggte sichtbar sein^^

Zitat
Nen Tyndur-Qemu kann ich starten, Jenkins kann den KVM-Host unter Praios steuern (und tut das z.B. für Ingerimm)
Ok, dann könnte das klappen. Dürfte trotzdem noch ein bisschen Gebastel geben bis das dann tut, aber du willst ja auch noch ein bisschen was zu tun haben. ;)

joar, wird gebastel - aber so kann ich helfen. Auch wenn ich genug andere Projekte habe, _eingerichtet_ hab ich das Jenkins ja nicht für Týndur ;)

BruceMP

  • Gast
Gespeichert
« Antwort #18 am: 06. July 2018, 16:14 »
Hi alle,

baut hier von euch jemand regelmaessig eigene aktuelle Builds ??

Gruesse aus dem Ruhrgebiet,
Jens

 

Einloggen