Verwenden der fortlaufenden Integration für die Bereitstellung auf einer virtuellen Maschine, um Integrationstests auszuführen

9

Hat jemand Erfahrung mit dem Einrichten eines CI-Servers (Team-Stadt für Präferenz), um die Erstellung einer virtuellen Maschine zu verwalten, ein Paket auf der Maschine bereitzustellen, die Datenbank in eine bekannte Konfiguration zu bringen und dann Integrationstests auszuführen. Das Ganze zerreißen und den Teststatus an Team City zurückmelden?

    
Loofer 07.09.2012, 11:14
quelle

1 Antwort

3
___ tag123kontinuierliche Integration ___ Continuous integration (CI) ist das Erstellen und automatisierte Testen des gesamten Softwareprodukts in einem häufigen Zeitplan: mindestens einmal am Tag, oft mehrmals am Tag und manchmal so oft wie nach jedem Einchecken in das Versionskontrollsystem. ___ tag123virtualisierung ___ Virtualisierung ist die Erstellung einer virtuellen (anstatt tatsächlichen) Version von etwas wie einer Hardwareplattform, einem Betriebssystem, einem Speichergerät oder Netzwerkressourcen ___ tag123teamcity ___ TeamCity von JetBrains ist ein Tool für die fortlaufende Integration und ein verteiltes Java-basiertes Build-Management-System, das für Teams, die einen agilen Entwicklungsansatz verwenden, von großem Nutzen sein kann. ___ qstntxt ___

Hat jemand Erfahrung mit dem Einrichten eines CI-Servers (Team-Stadt für Präferenz), um die Erstellung einer virtuellen Maschine zu verwalten, ein Paket auf der Maschine bereitzustellen, die Datenbank in eine bekannte Konfiguration zu bringen und dann Integrationstests auszuführen. Das Ganze zerreißen und den Teststatus an Team City zurückmelden?

    
___ qstnhdr ___ Verwenden der fortlaufenden Integration für die Bereitstellung auf einer virtuellen Maschine, um Integrationstests auszuführen ___ antwort12321325 ___

Wir machen so etwas, wir haben drei Arten von Tests. Komponententests, die Ihnen sicherlich bekannt sind, aber wir führen auch eine Reihe von Akzeptanztests und Integrationstests durch, und letzteres ist relevant.

In unseren Integrationstests führen wir eine Reihe von WatiN-Tests gegen unsere QA-Umgebung durch, von der bekannt ist, dass bereits eine Umgebung läuft. Diese werden normalerweise ausgeführt, nachdem TeamCity einen Bereitstellungsaufbau für die QA-Umgebung ausgeführt hat. Diese Tests machen eine vollständige Integration gegen alle externen Dritten.

Was Sie vielleicht mehr interessiert, sind unsere Akzeptanztests, aber weisen Sie darauf hin, dass wir keine virtuelle Umgebung erstellen (dazu später mehr). Wir haben eine Reihe von Akzeptanztests, die alle Services in ihren eigenen Anwendungsdomänen hochfahren und Datenbanken mithilfe von Visual Studio-Datenbankprojekten bereitstellen. Da dies Akzeptanztests sind, werden alle Schnittstellen von Drittanbietern verspottet. Da die Dienste im Laufe der Zeit hochgespielt werden, müssen am Ende nur die Datenbanken aufgeräumt werden.

Das funktioniert für uns, aber ich habe darüber nachgedacht, es mit Integrationstests auf die nächste Ebene zu bringen und eine virtuelle Umgebung zu erstellen, die genau wie unsere Live-Umgebung bis zu Domain-Namen und IP-Adressen aussieht zeitaufwändig zu tun, aber hängt von der Art der virtuellen Umgebung ab, die Sie verwenden möchten.

Hier ist eine SO Frage, wie man Hyper-V Server mit MSBuild hochfährt, aber ich bin mir sicher, dass es andere Beispiele gibt, die Ant / Nant / Rake für Hyper-V / VMWare usw. verwenden.

Wie kann ich virtuelle Maschinen als Teil eines Buildprozesses mit MSBuild und MS Virtual Server und / oder Hyper-V Servervirtualisierung erstellen?

    
___
Bronumski 07.09.2012, 15:40
quelle