jboxberger / synology-gitlab-jboxberger

Synology GitLab package based on postgresql
MIT License
37 stars 2 forks source link

rebuild-all.sh funktioniert nicht richtig? #9

Closed tobidemski closed 6 years ago

tobidemski commented 6 years ago

Hey... ich wollte mir mal eine neue SPK von der aktuellen Version machen (11.2.3) und dachte mir ich checke mal dein Repo aus und führe mal rebuild-all.sh aus.

Mein Problem ist nun, da ich mich in der Hinsicht nicht so gut auskenne, das ich am Ende im Build Ordner nur eine SPK bekomme die nur 225,3kb groß ist und nicht wie erhofft eine 600mb große Datei.

Muss man noch etwas beachten damit man das Script erfolgreich ausführen kann?

Gruß

jboxberger commented 6 years ago

Hi, dazu musst du die ensprechenden docker images im Ordner "docker" ablegen.

Du brauchst dafür folgende docker images, diese kannst du mit docker save erstellen.

Diese kannst du dir auch bequem mit dem tools/save-docker-image-batch.sh erstellen lassen, passe dazu die Kommandozeilen einfach an. ` ./save-docker-image.sh --image\="sameersbn/gitlab:11.1.4"

./save-docker-image.sh --image\="sameersbn/postgresql:9.6-2"

./save-docker-image.sh --image\="redis:3.2.11" `

Beim ersten Aufruf werden notwendigen Pakete wie docker automatisch installiert. Ich benutze das auf einem Ubuntu.

Gruss :-)

tobidemski commented 6 years ago

Ahhh verstehe! Hab es wohl nun hinbekommen... Jetzt sieht es aber so aus das meine SPK 1.2GB groß ist. Warum ist meine im Vergleich zu deine doppelt so groß?

BTW: Habe mir auch ein Ubuntu 18.04 über Hyper-V eingerichtet

jboxberger commented 6 years ago

Wie sehen denn die größen deiner docker images aus?

Am ende wird alles im Verzeichnis gezippt, kann es sein das du da noch ein zweites "altes" Image rumliegen hast?

Gruss

jboxberger commented 6 years ago

Du kannst die SPK mit 7zip öffnen und schauen was du drin hast. SPK > package.tgz > package.tar -> docker

tobidemski commented 6 years ago

image

Es sind nur die 3 drin die ich brauche.

jboxberger commented 6 years ago

Kann es sein dass du im src ordner was abgelegt hast was die größe aufbläht? und wie gesagt öffne das SPK und schau mal was da so groß ist

SPK > package.tgz > package.tar -> docker

tobidemski commented 6 years ago

Das Problem bei meiner SPK ist das er im Package Ordner den Ordner "docker" angelegt hat und diesen mit den 3 tar.xz Package befüllt hat. Jetzt ist nur die Frage wie die da reinkommen sobald ich das Package generiere... Ich habe im Ordner selbst unter src nur die 2 Ordner "config" und "ui".. Muss also beim generieren irgendwie passieren :/

jboxberger commented 6 years ago

Der Ordner docker gehört da nicht hin. Der muss auf der root Ebene sein und die images dort abgelegt sein. Diese kopiert er dann später nach src/packge/docker automatisch. Bitte beachte auch dass die berechtigungen korrekt sind. Das script räumt vor dem build auf und löscht unnötiges "Zeug". Wenn delete permission nicht gegeben ist landet das zeug auch alles im Zip.

So sollte es aussehen: image

tobidemski commented 6 years ago

Genau so sieht es bei mir auch aus. Der "docker" Ordner liegt parallel zu "build", "src" und "tools".

tobidemski commented 6 years ago

Im "tmp" Folder der erstellt wird, werden auch die docker images kopiert und anschließend mit gezippt und ins eigentliche SPK gepackt. Ist evtl. etwas in der build.sh fehlerhaft?

jboxberger commented 6 years ago

Also eigentlich sieht der Prozess so aus. 1) Checkout 2) dump docker images "save-docker-images.sh" bzw. "save-docker-image-batch.sh" 3) images nach /docker verschieben 4) anpassen rebuild.sh und neue Version hinzufügen (1 Zeile) `#versions["11.1.3"]="761"; orders+=( "11.1.3" )

versions["11.1.4"]="761"; orders+=( "11.1.4" )

versions["11.2.3"]="696"; orders+=( "11.2.3" )`

dann die "rebuild.sh" ausführen und fertig.

Lass uns doch nicht spekulieren, öffne doch die SPK und schau woher die Größe kommt.

tobidemski commented 6 years ago

Warum die Größe da ist habe ich schon weiter oben geschrieben. "Das Problem bei meiner SPK ist das er im Package Ordner den Ordner "docker" angelegt hat und diesen mit den 3 tar.xz Package befüllt hat."

SPK -> Package -> docker -> 3 Dateien mit der selben Größe wie in SPK -> package.tgz

Also ich habe in der SPK einen package Ordner der in deinen sonstigen SPKs nicht dabei ist. Das ist das Problem.

jboxberger commented 6 years ago

Das ist absolut korrekt so. So muss es in der package.tar aussehen. image

Da muss noch was anderes sein.

tobidemski commented 6 years ago

Mein Root vom SPK: image Da in der SPK noch der Ordner "package" ist... Ist meine SPK doppelt so groß.

jboxberger commented 6 years ago

Der "package" Ordner gehört da nicht hin. Dieser wird als package.tgz gzippt und anschließend vor dem finalen zippen gelöscht. Scheinbar klappt das löschen nicht und der wird ein zweites mal mit gezippt. Prüfe die Berechtigungen bzw den grund warum das script den package ordner nicht löschen kann.

tobidemski commented 6 years ago

Habe das Problem gefunden... In der tar Funktion hat er "--exclude='package'" ignoriert. Nachdem ich das nach vorne gepackt habe hat alles reibungslos geklappt.

Sprich so (line 194): cd $project_tmp/ && tar --exclude='package' --format=gnu -cf $project_build/$new_file_name * && cd ../ if [ $IS_DEBUG == 0 ]; then rm -rf "$project_tmp" fi

jboxberger commented 6 years ago

Ahh... ok das ist echt Komsich werde es gleich mal testen.

tobidemski commented 6 years ago

Geholfen hat mir am Ende folgender Beitrag: https://unix.stackexchange.com/a/33334

jboxberger commented 6 years ago

Danke für den tipp, hatte das gar nicht auf dem Radar. Habe es aufgenommen und der exclude steht dann mit dem nächsten push im repo vorne.

Vielen dank für den Tip und dein Interesse am Projekt :-).

jboxberger commented 6 years ago

Mit dem 11.2.3 Release aktualisiere ich das sameersbn/postgresql image von 9.6-2 auf 9.6-4, das müsstest du dir dann nochmal ziehen und im docker Verzeichnis ablegen wenn du ein packge selber bauen willst.

tobidemski commented 6 years ago

Ich habe schon gemerkt das bei der Installation irgendwas nicht geklappt hat und war gerade dabei nochmal alle Packages quasi upzudaten. gitlab: 11.2.3 postgresql: 9.6-2 --> 9.6-4 redis 3.2.11 --> 3.2.12

Mal schauen ob dann alles klappt :)

tobidemski commented 6 years ago

Ich habe jetzt irgendwie das komische Verhalten das mein docker image welches ich mit "save-docker-image-batch" ziehe doppelt so groß ist. (Statt 730mb, 1.95GB) :( Oder ist das bei dem docker image selbst richtig?

image

jboxberger commented 6 years ago

save-docker-image-batch.sh ist nur ein helper für save-docker-image.sh

Vielleicht funktioniert pxz hier auch anders... sudo docker save "$image_name" | pxz > "$TARGET_DIR/$(echo "$image_name" | tr '/' '-')-$image_version.tar.xz"

Kannst du sehen ob die .tar.xz vorher gelöscht wird?

PS redis habe ich nicht aktualisiert, es bleibt erst mal 3.2.11.

tobidemski commented 6 years ago

Ich habe keine Ahnung was der genaue Unterschied zwischen diner VM und meiner ist. :/ Screen: (Links MEINS | Rechts DEINS) image gitlab & postgresql sind jeweils Unterschiedlich in der Größe und wenn ich meine SPK auf der DSM einspiele ist er quasi immer direkt fertig. (Docker Images fehlen im Anschluss natürlich unter Docker und Gitlab funktioniert nicht) - Deins klappt natürlich :D

Ich bekomme jedes Mal gefühlt andere Ergebnisse. Ich glaube ich überlasse dir weiterhin das bauen der neuen Versionen! :D

jboxberger commented 6 years ago

Ich nutze WSL (Windows Linux Subsystem) mit Ubuntu 16.04.3 LTS. Ich denke das hier die Größenunterschiede kommen. Dein Problem liegt im Redis, die skripte sind auf 3.2.11 ausgelegt und die ist bei dir nicht vorhanden und dann bricht die gesamte Installation frühzeitig ab. Den Fehler müsstes du auch im logfile sehen. /var/log/synopkg.log

Entweder du legst das 3.2.11 redis docker image im docker Ordner ab oder du passt das script "rebuild-all.sh" an. 3.2.12 habe ich noch nicht getestet. 3.2.11 geht aber auf jeden fall :-).

image

Geb nicht auf du bist fast am Ziel!!!! :-)

Gruss

tobidemski commented 6 years ago

Ich habe nochmal redis auf 3.2.11 gestellt und das Package versucht zu installieren. Selbes Problem --> Files waren unterschiedlich groß und das Package installieren schlug quasi auch fehl. Ich werde später mal schauen das ich vielleicht Ubuntu 16.04.3 installiere evtl. liegt es auch an der 18.04. Ich melde mich sobald ich das gemacht habe und schreibe dir mein Ergebnis.

Gruß

tobidemski commented 6 years ago

Hey... ich habs vorhin nochmal auf einem Ubuntu 16.04 versucht und es hat jetzt soweit geklappt, Probleme hatte ich jetzt am Ende noch mit dem "tar" da musste ich bei den Parametern das "f" nach hinten stellen. Am Ende ist eine spk rausgekommen die zwar paar KB Abweichungen zu deiner hatte aber sich jedoch trotzdem problemlos installieren lies.

Danke soweit für deine Hilfe! :)