Gitlab, Docker, CI

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Gitlab, Docker, CI

Beitrag von Christian »

Wollt mal fragen in wiefern ihr euch schon mit den benannten Themen befasst habt.
Ich bin seit 3 Wochen recht begeistert dabei meine Build Abläufe auf Gitlab umzustellen. Und dabei noch etwas tiefer in Docker eingearbeitet.

Hab jetzt sämtliche Builds in VMs laufen und will als nächstes noch die Build Umgebungen in Docker Container umziehn.
Ist schon Wahnsinn was man damit machen kann.
Ich hab probehalber mal Promet-ERP in nen Docker Container eingesperrt und mit Guacamole+x11rdp in ne HTML5 Applikation umgebaut. Ist warscheinlich die erste Lazarus Applikation die 1:1 Web basiert funktioniert. Und das noch in nem Docker Container so das man sich das ganze mit einer Kommandozeile auf nem eigenen Server zum laufen bringen kann.

Hier mal das Ergebnis zum spielen:http://v22016053596334467.supersrv.de:10088/#/client/c/Promet-ERP
Hier das Docker Image:https://hub.docker.com/r/cutec/promet-client/
Hier die Sourcen:https://github.com/cutec-chris/promet-client-docker

Hab auch schon Lazarus für 64bit Linux in nem Container
32Bin bin ich noch am werkeln
und wine 32bit hab ich auch noch vor damit man auch Windows builds machen kann
Arm crosscompiling wäre noch toll, aber das bekomm ich warscheinlich nicht hin. Das wird in ner Raspberrry PI (K)VM bleiben
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Gitlab, Docker, CI

Beitrag von Christian »

So, nächster Meilenstein.

Alle Plattformen die Promet unterstützt können jetzt aus Docker Conatinern gebaut werden.
Natürlich kann man die Container auch benutzen um beliebige andere Lazarus Applikationen zu bauen, ich hab euch die mal auf github/dockerhub gestellt:

Windows (Wine)
https://hub.docker.com/r/cutec/buildhos ... s-windows/
Bsp:

Code: Alles auswählen

 
docker run -it --rm -v ~/meineApplikation:/root/app cutec/buildhost-lazarus-windows lazbuild z:/root/app/meineApplikation.lpi
 


Linux x64
https://hub.docker.com/r/cutec/buildhost-lazarus-x64/
Bsp:

Code: Alles auswählen

 
docker run -it --rm -v ~/meineApplikation:/root/app cutec/buildhost-lazarus-x64 lazbuild /root/app/meineApplikation.lpi
 


Linux i386
https://hub.docker.com/r/cutec/buildhost-lazarus-i386/
Bsp:

Code: Alles auswählen

 
docker run -it --rm -v ~/meineApplikation:/root/app cutec/buildhost-lazarus-i386 lazbuild /root/app/meineApplikation.lpi
 


Linux armhf (Raspberry Pi)
https://hub.docker.com/r/cutec/buildhost-lazarus-armhf/
Auf dem Wirtssystem muss qemu-arm installiert sein:

Code: Alles auswählen

 
sudo apt-get install qemu-user-static
 

Bsp:

Code: Alles auswählen

 
docker run -it --rm -v ~/meineApplikation:/root/app cutec/buildhost-lazarus-armhf -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static lazbuild /root/app/meineApplikation.lpi
 
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten