Kontinuierliche Integration - Funktionen
Im Folgenden finden Sie einige der wichtigsten Funktionen oder Vorgehensweisen für die kontinuierliche Integration.
Maintain a single source repository- Der gesamte Quellcode wird in einem einzigen Repository verwaltet. Dadurch wird vermieden, dass der Quellcode über mehrere Standorte verteilt wird. Werkzeuge wieSubversion and Git sind die beliebtesten Tools zur Pflege des Quellcodes.
Automate the build- Die Erstellung der Software sollte so erfolgen, dass sie automatisiert werden kann. Wenn mehrere Schritte ausgeführt werden müssen, muss das Build-Tool dazu in der Lage sein. Für .Net ist MSBuild das Standard-Build-Tool, und für Java-basierte Anwendungen verfügen Sie über Tools wieMaven and Grunt.
Make your build self-testing- Der Build sollte testbar sein. Unmittelbar nach dem Build sollten Testfälle ausgeführt werden, um sicherzustellen, dass Tests für die verschiedenen Funktionen der Software durchgeführt werden können.
Every commit should build on an integration machine- Der Integrationscomputer ist der Buildserver und es sollte sichergestellt werden, dass der Build auf diesem Computer ausgeführt wird. Dies bedeutet, dass alle abhängigen Komponenten auf dem Continuous Integration-Server vorhanden sein sollten.
Keep the build fast- Der Build sollte in wenigen Minuten erfolgen. Der Build sollte nicht stundenlang dauern, da dies bedeuten würde, dass die Build-Schritte nicht richtig konfiguriert sind.
Test in a clone of the production environment- Die Build-Umgebung sollte der Produktionsumgebung nahe kommen. Wenn zwischen diesen Umgebungen große Unterschiede bestehen, kann es vorkommen, dass der Build in der Produktion fehlschlägt, obwohl er auf dem Buildserver weitergegeben wird.
Everyone can see what is happening - Der gesamte Prozess des Erstellens, Testens und Bereitstellens sollte für alle sichtbar sein.
Automate deployment- Kontinuierliche Integration führt zu kontinuierlicher Bereitstellung. Es muss unbedingt sichergestellt werden, dass der Build einfach in einer Staging- oder Produktionsumgebung bereitgestellt werden kann.