Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Anwendungen signieren - welcher Zertifikat-Anbieter? (https://www.delphipraxis.net/217494-anwendungen-signieren-welcher-zertifikat-anbieter.html)

himitsu 15. Jul 2025 15:59

AW: Anwendungen signieren - welcher Zertifikat-Anbieter?
 
Wir kompilieren via FinalBuilder, aber ein Teil läuft automatisiert.

Aktuell nur der Datenbankteil, welcher beim Git-Push, angestoßen wird, also wo eine TestDB erzeugt und anschließend getestet wird,
aber per se wäre es auch möglich, dass der Delphi-Branch genommen, alles kompiliert und dann getestet wird.
(im GitHub ein Trigger, der auf 'nem eigenem Rechner oder in der Cloud das Programm erzeugt)

Es gibt auch Projekte, wo das Kompilieren ewig dauert ... geht von 15 Minuten, bis mehrere Stunden.
Und teilweise wird (auch deswegen) regelmäßig automatisch kompiliert und z.B. oft Nachts eine neuer Build erzeugt und zum Download bereitgestellt.



Ja, für interne Dinge könnte man auch selbsterstellte Zertifikate nutzen, welche keinen USB/Cloud/... benötigen.

Uwe Raabe 15. Jul 2025 16:33

AW: Anwendungen signieren - welcher Zertifikat-Anbieter?
 
Zitat:

Zitat von bernau (Beitrag 1550238)
Weshalb muss ein Build unbeaufsichtigt durchgeführt werden. (z.B. bei Uwe oder Freimatz)

Kommt sicher auf die Gegebenheiten an. Bei mir ist es einfach Bequemlichkeit und Überzeugung. Ein Build startet entweder von selbst, z.B. durch ein Push in das entsprechende Repository, oder mit einem Klick auf den passenden Button im Dashboard, z.B. um eine neues Release anzustoßen.

Bei mir werden alle erzeugten EXE-, DLL- und Setup-Dateien (ja, sind auch EXE) automatisch im Build signiert (man weiß nie wer das mal eben zum Testen in die Finger kriegt). Ausnahme, frühe Beta-Versionen bei einem neuen Delphi, solange das Build-System das noch nicht unterstützt - ist aber in der Regel nicht lang.

Pushe ich einen Branch, triggert das automatisch ein Build dieses Branches mit Vergabe einer eindeutigen Build-Nummer, mit der das ChangeSet auch gleich getagged wird. Durch den Automatismus wird sofort geprüft, ob die Änderungen auch vollständig im System sind (wer hat nicht schonmal vergessen eine neue Datei einzuchecken?) und sich auch alle zugehörigen Projekte erzeugen lassen und nicht nur das, an dem ich gerade gearbeitet habe. Da das allein durch das Push ausgelöst wird, kann ich sofort mit was anderem weitermachen. Läuft alles gut - sehr schön, falls nicht bekomme ich vom Build-System eine Nachricht und kann das zeitnah beheben (so ein roter Fleck im Dashboard ist halt schon recht lästig).

Für ein vollständiges Release wird manuell gestartet und da kann die Build-Zeit schon mal etwas länger dauern. Da werden Screenshots mit dem frischen Compilat gemacht, in die Dokumentation übernommen und als CHM und PDF bereitgestellt - alles in den unterstützen Sprachen. Die Setups werden dann automatisch hochgeladen und (wenn möglich automatisch) auf den zugehörigen Seiten bereitgestellt. Heißt, ich klicke auf den Build Release Button des entsprechenden Projekts und der Rest läuft dann ganz alleine.

Jetzt kann man natürlich einwenden: Ist das nicht ein wenig over-engineered für einen einzelnen Developer? Vielleicht, aber gerade wenn man allein ist, sollte man soviel wie möglich automatisieren, finde ich. Sobald das aber in einem Team stattfindet, bin ich fest davon überzeugt, dass man viel zu viel kostbare Zeit vergeudet, wenn man das nicht so weit automatisiert. Wenn ich mir da die eine oder andere Software-Schmiede (oder Software-Team) ansehe in die ich mal reinschnuppern durfte, da gibt es oft noch ein gehöriges Potential die Entwickler effizienter zu machen. Stattdessen wird soviel Zeit in Routineaufgaben vergeudet - aber an den Kosten für Freiberufler sparen wollen...

freimatz 15. Jul 2025 18:04

AW: Anwendungen signieren - welcher Zertifikat-Anbieter?
 
Zitat:

Zitat von bernau (Beitrag 1550238)
Da muss ich doch mal nachfragen. Alles in allem dauert der Build meiner Software 1-5 Min.

Das Build starte ich manuell. Danach wird signiert. Dazu wird lediglich ein Einmalpasswort abgefragt (mal eben aufs Handy schauen). Und alles ist signiert.

Weshalb muss ein Build unbeaufsichtigt durchgeführt werden. (z.B. bei Uwe oder Freimatz)

Für Einzelentwickler sicher kein muss. Aber Mavarik schrieb "wir".
Bei uns geht vieles ähnlich wie bei Uwe.
Auch wir haben etliche Branches (ich heute ca. 5 neue). Für jeden wird automatisch ein Job erstellt. Wenn man dann etwas neues pushed läuft automatisch die Pipeline an und hinten kommt ein Setup raus. Bei uns dauert ein Build ca. zwei Stunden. Man kann konfigurieren ob ein branch gleich auch zertifiziert wird. Zudem kann man automatische UI-Tests laufen lassen um sicherer zu sein, dass man nichts verbastelt hat. (Siehe auch "DevOps")


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz