AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Continuous Integration Prozess mit Docker & Rad Studio
Thema durchsuchen
Ansicht
Themen-Optionen

Continuous Integration Prozess mit Docker & Rad Studio

Ein Thema von flashpixx · begonnen am 7. Aug 2019 · letzter Beitrag vom 1. Dez 2019
Antwort Antwort
Seite 2 von 3     12 3      
flashpixx

Registriert seit: 25. Jul 2019
15 Beiträge
 
#11

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 8. Aug 2019, 08:46
[finde ich z.B. https://yeiei.net/en/debugging-delph...ker-container/. Es scheint wohl schon jemand geschafft zu haben.
Das sieht für mich so aus als würde da nur der PAServer (als Remote-Debugger) im Docker Laufen, nicht RadStudio.
Ja ist es auch, das ist für das Remote-Debugging. Ich möchte aber in dem Docker-Container compilieren, d.h. mein Git-Repository clonen und die dann die Projektdatei übersetzen (ohne UI)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 8. Aug 2019, 09:42
Unter welchem Betriebssystem läuft denn deine Docker Instanz? Ich gehe mal davon aus, dass du das unter Windows ausprobiert hast. Zusätzlich müssen die Container wohl als Windows Container laufen. Was ich so gelesen habe, hat die neueste Version von Docker for Windows auch einige Verbesserungen erhalten um mehr Möglichkeiten zu haben Container laufen zu lassen.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 8. Aug 2019, 10:31
Brauchst du überhaupt eine komplette Installation von Delphi?
Reicht es nicht, wenn du dir den Compiler (dcc32.exe und/oder dcc64.exe) in den Docker-Container holst und dann ganz klassisch per MSBUILD die Delpi-Projekte baust?
Sicher gibt es doch die ein oder andere Abhängigkeit, die man mit knobeln auflösen muss, aber nichts was nicht ggf. lösbar wäre.
Ja genau das hatte ich gedacht, also habe ich das bin bzw bin64 Verzeichnis direkt mit COPY in den Container kopiert, wenn ich dann aber versuche irgendeine Exe wie dcc32 auszuführen, passiert gar nichts. Es kommt keine Fehlermeldung aber das Programm funktioniert auch nicht
Schau doch mal, ob der dcc32.exe alle Abhänigkeiten findet:

C:\WINDOWS\System32\ADVAPI32.DLL.
C:\WINDOWS\System32\bcryptPrimitives.dll.
C:\WINDOWS\System32\combase.dll.
C:\WINDOWS\System32\CRYPT32.dll.
C:\WINDOWS\System32\CRYPTBASE.dll.
C:\WINDOWS\System32\GDI32.dll.
C:\WINDOWS\System32\gdi32full.dll.
C:\WINDOWS\System32\IMM32.DLL.
C:\WINDOWS\System32\KERNEL32.DLL.
C:\WINDOWS\System32\KERNELBASE.dll.
C:\WINDOWS\System32\MSASN1.dll.
C:\WINDOWS\System32\msvcp_win.dll.
C:\WINDOWS\System32\msvcrt.dll.
C:\WINDOWS\SYSTEM32\ntdll.dll.
C:\WINDOWS\System32\OLE32.DLL.
C:\WINDOWS\System32\RPCRT4.dll.
C:\WINDOWS\System32\sechost.dll.
C:\WINDOWS\System32\SHLWAPI.dll.
C:\WINDOWS\System32\SspiCli.dll.
C:\WINDOWS\System32\ucrtbase.dll.
C:\WINDOWS\System32\USER32.DLL.
C:\WINDOWS\System32\win32u.dll.
C:\WINDOWS\SYSTEM32\winbrand.dll.
C:\WINDOWS\System32\WINTRUST.dll.
C:\WINDOWS\SYSTEM32\wldp.dll.
C:\WINDOWS\SysWOW64\cmd.exe.
  Mit Zitat antworten Zitat
flashpixx

Registriert seit: 25. Jul 2019
15 Beiträge
 
#14

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 12. Aug 2019, 00:10
Unter welchem Betriebssystem läuft denn deine Docker Instanz? Ich gehe mal davon aus, dass du das unter Windows ausprobiert hast. Zusätzlich müssen die Container wohl als Windows Container laufen. Was ich so gelesen habe, hat die neueste Version von Docker for Windows auch einige Verbesserungen erhalten um mehr Möglichkeiten zu haben Container laufen zu lassen.
Ich nutze die aktuelle Docker Installation und der Container ist ein Windows-Container, wie gesagt, ich kann auch den Container ohne Probleme ausführen und in ihm arbeiten, nur der Compiler / Linker des Rad Studios funktionieren aktuell (noch) nicht.
  Mit Zitat antworten Zitat
flashpixx

Registriert seit: 25. Jul 2019
15 Beiträge
 
#15

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 12. Aug 2019, 01:45
Brauchst du überhaupt eine komplette Installation von Delphi?
Reicht es nicht, wenn du dir den Compiler (dcc32.exe und/oder dcc64.exe) in den Docker-Container holst und dann ganz klassisch per MSBUILD die Delpi-Projekte baust?
Sicher gibt es doch die ein oder andere Abhängigkeit, die man mit knobeln auflösen muss, aber nichts was nicht ggf. lösbar wäre.
Ja genau das hatte ich gedacht, also habe ich das bin bzw bin64 Verzeichnis direkt mit COPY in den Container kopiert, wenn ich dann aber versuche irgendeine Exe wie dcc32 auszuführen, passiert gar nichts. Es kommt keine Fehlermeldung aber das Programm funktioniert auch nicht
Schau doch mal, ob der dcc32.exe alle Abhänigkeiten findet:
Ich habe geschaut, alle Dateien sind in den Pfaden vorhanden, die Pfade sind in der PATH Umgebungsvariablen eingetragen. Ich habe als Test das gesamte Rad-Studio Installationsverzeichnis in den Docker-Container kopiert, die Pfade gesetzt wie in meinem Host-Windows, aber bei einem Aufruf von dcc32 kommt keine Ausgabe. Auf meinem Host-Windows System erscheint eine Auflistung der Parameter. Der einzige Unterschied zwischen ist der Pfad des Rad Studios, im Docker-Container liegt das Studio unter C:\Dev\rad\19.0 und im Host-Windows unter C:\Program Files...
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 12. Aug 2019, 08:50
Schau doch mal bei deiner normalen Installation mit dem Process Monitor von SysInternals, was da genau passiert und vergleiche mit deinen Docker Image.
  Mit Zitat antworten Zitat
flashpixx

Registriert seit: 25. Jul 2019
15 Beiträge
 
#17

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 12. Aug 2019, 11:13
Schau doch mal bei deiner normalen Installation mit dem Process Monitor von SysInternals, was da genau passiert und vergleiche mit deinen Docker Image.
Ein Docker-Container hat keine UI, sondern nur eine Kommandozeile. Da alle Tools immer ein UI mitbringen, hätte ich keine Idee, wie man das sinnvoll innerhalb des Container debuggen kann.
Als zweite Idee wäre, kann man nur die Kommandozeilen Tools direkt durch das Setup installieren lassen, also das Setup ausführen, "irgendwie" die Lizenz hineinbekommen und nur die Kommandozeilentools installieren
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 12. Aug 2019, 13:50
Ok, das "vergleiche" führte dich vielleicht auf eine falsche Spur.
Ich meinte, schau dir genau per Process Monitor an was der dcc32.exe im (normalen) System alles anfasst und lädt und dann guckst du nach, ob diese Abhängigkeiten auch im Container da sind.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 12. Aug 2019, 13:54
Wurde das schon genannt?
https://stackoverflow.com/questions/...ild-automation
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
 
Delphi 10 Seattle Enterprise
 
#20

AW: Continuous Integration Prozess mit Docker & Rad Studio

  Alt 29. Aug 2019, 11:52
..., ich kann auch den Container ohne Probleme ausführen und in ihm arbeiten, nur der Compiler / Linker des Rad Studios funktionieren aktuell (noch) nicht.
Meines Wissens benötigt der dcc32 mehr als nur die Dateien in %ProgramFiles(x86)%\Embarcadero\ .

Wenn Du Rad Studio nativ installierst und das erste mal aufrufst, werden in der Registry unter HKCU\Software\Embarcadero\BDS einige Daten abgelegt.
Unter "%APPDATA%\Embarcadero" liegen dann auch Daten die verwendet werden könnten.
Es ist auch möglich, dass die Lizenzdaten in C:\ProgramData\Embarcadero\.licenses\ von dcc32.exe verwendet werden.

Installiere RAD nativ, starte es ein mal und sicher dir die Registry und die Dateien in den oben genannten Verzeichnissen.
Dann Stell die Dateien und Regkeys im Docker zur Verfügung.

Vor dem Start der Kommandozeilentools solltest Du auch "$(BDS)\bin\rsvars.bat" im Image aufrufen.
Dort werden von DCC und msbuild benötigte Enviroment-Variablen gesetzt.

Weitere Abhängigkeiten fallen mir im Moment nicht ein

Ich hoffe das hilft Dir.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz