Build-Automatisierung - Build automation

Build - Automatisierung ist der Prozess , die Schaffung einer der Automatisierung Software - Build und die damit verbundenen Prozesse , einschließlich: Kompilieren Computer - Quellcode in Binärcode , Verpackungs Binärcode und Ausführen von automatisierten Tests .

Überblick

In der Vergangenheit wurde die Build-Automatisierung durch Makefiles erreicht . Heute gibt es zwei allgemeine Kategorien von Werkzeugen:

Dienstprogramm zur Build-Automatisierung
Dies umfasst Dienstprogramme wie Make , Rake , CMake , MSBuild , Ant , Maven oder Gradle (Java) usw. Ihr Hauptzweck besteht darin, Build-Artefakte durch Aktivitäten wie das Kompilieren und Verknüpfen von Quellcode zu generieren.
Build-Automation-Server
Hierbei handelt es sich um allgemeine webbasierte Tools, mit denen Dienstprogramme zur Build-Automatisierung geplant oder ausgelöst ausgeführt werden. Ein Continuous Integration Server ist eine Art Build-Automation-Server.

Je nach Automatisierungsgrad ist folgende Klassifizierung möglich:

Eine Softwareliste für jede Software finden Sie in der Liste der Build-Automatisierungssoftware .

Dienstprogramme zur Build-Automatisierung

Build-Automation-Dienstprogramme ermöglichen die Automatisierung einfacher, wiederholbarer Aufgaben. Bei Verwendung des Tools wird berechnet, wie das Ziel erreicht wird, indem Aufgaben in der richtigen, spezifischen Reihenfolge ausgeführt und jede Aufgabe ausgeführt werden. Die beiden Unterschiede zwischen Build-Tools sind aufgabenorientiert und produktorientiert. Aufgabenorientierte Tools beschreiben die Abhängigkeit von Netzwerken in Bezug auf eine bestimmte festgelegte Aufgabe, und produktorientierte Tools beschreiben Dinge in Bezug auf die von ihnen generierten Produkte.

Build-Automation-Server

Obwohl Build-Server lange vor Servern mit kontinuierlicher Integration existierten, sind sie im Allgemeinen gleichbedeutend mit Servern mit kontinuierlicher Integration. Ein Build-Server kann jedoch auch in ein ARA- Tool oder ALM- Tool integriert werden.

Servertypen

Verteilte Build-Automatisierung

Die Automatisierung wird durch die Verwendung einer Kompilierungsfarm für die verteilte Kompilierung oder die Ausführung des Dienstprogrammschritts erreicht. Der verteilte Erstellungsprozess muss über Maschinenintelligenz verfügen, um die Quellcode-Abhängigkeiten zum Ausführen des verteilten Builds zu verstehen.

Beziehung zu kontinuierlicher Lieferung und kontinuierlicher Integration

Die Build-Automatisierung wird als erster Schritt zur Implementierung einer Kultur der kontinuierlichen Bereitstellung und von DevOps angesehen . Die Build-Automatisierung in Kombination mit kontinuierlicher Integration , Bereitstellung , Automatisierung von Anwendungsversionen und vielen anderen Prozessen hilft einem Unternehmen, Best Practices für die Softwarebereitstellung zu etablieren.

Vorteile

Zu den Vorteilen der Build-Automatisierung für Softwareentwicklungsprojekte gehören:

  • Eine notwendige Voraussetzung für die kontinuierliche Integration und kontinuierliche Prüfung
  • Produktqualität verbessern
  • Beschleunigen Sie die Kompilierungs- und Linkverarbeitung
  • Beseitigen Sie redundante Aufgaben
  • Minimieren Sie "schlechte Builds"
  • Beseitigen Sie Abhängigkeiten von Schlüsselpersonal
  • Haben Sie eine Geschichte von Builds und Releases, um Probleme zu untersuchen
  • Sparen Sie Zeit und Geld - aus den oben genannten Gründen.

Siehe auch

Verweise