Ich benötige einige Erläuterungen zu den Verantwortlichkeiten des Build-Skripts und des Build-Servers.
Ich habe mehrere Artikel im Internet über kontinuierliche Integration und Builds gelesen. Einschließlich
- Die Taste F5 ist kein Erstellungsprozess
- Der Build Server: Der Herzmonitor Ihres Projekts
- Tägliche Builds sind dein Freund
Und ich hatte ein Gespräch mit meinem Berater über den Erstellungsprozess unserer Software. Weil er sehr erfahren ist, vertraue ich seinen Aussagen, aber ich war verwirrt.
Nach meinem Verständnis sollte nach meiner Recherche (und bitte korrigieren Sie mich hier, da es das ist, wonach ich frage) das Ideal lauten:
- Jedes Projekt hat sein Build-Skript
- Dieses Skript erstellt das Projekt
- Dieses Skript stellt sicher, dass die Abhängigkeiten zuvor erstellt wurden
Da es sich bei Abhängigkeiten um andere Projekte handeln kann, entsteht mit einem eigenen Build-Skript eine baumartige Hierarchie. Möglicherweise gibt es ein Top-Build-Skript, das alle Projekte und Anwendungen erstellt.
Die Verantwortlichkeiten des Build-Servers sind jedoch:
- Überprüfen Sie das Repository
- Löse den Build aus
- Triggertests und andere QS-Tools
- stelle das Artefakt zur Verfügung
Dies kann manuell, nachts oder bei jeder Änderung des Repositorys ausgelöst werden
Die Ziele meines Beraters sind, wie ich sie verstehe, dass ein Build-Skript zu unflexibel und nicht wartbar ist (abgesehen von der Tatsache, dass es sehr lange dauern würde, ein Skript für unsere alte Codebasis zu erstellen). Außerdem sollte der Build-Server die Abhängigkeiten beibehalten, um beispielsweise ältere Abhängigkeiten zu verwenden, wenn das Erstellen neuer Abhängigkeiten fehlschlägt. Und insbesondere, Ant
weil es das konkrete Thema war, nicht in der Lage ist, alle Arten von Technologien zu erstellen, die in der Codebasis verwendet werden, und nicht in der Lage ist, die Abhängigkeiten aufrechtzuerhalten.
Können Sie bitte die Ziele erläutern und die Zuständigkeiten klären?