Frage

Ich weiß genug, um zu wissen, dass wir unsere Anwendung bekommen müssen mit einer einzigen Benutzeraktion zu implementieren. Allerdings I nicht wissen:

  1. Was sind einige gute Werkzeuge in einem .NET-Shop benutzen?
  2. Wie verwalten Sie Konfigurationsänderungen für jede Ihrer Umgebungen?

Kann mir jemand Punkt auf einige gute Ressourcen für kontinuierliche Integration. Ich mag einige Theorie sowie einen Schritt für Schritt praktischer Leitfaden sehen.

Bearbeiten
Ich bin ein Web-Deployment gerade jetzt automatisiert in Not; jedoch würde ich auch lernen, wie man diese Anwendungen für den Desktop zu tun.

War es hilfreich?

Lösung

Ich schrieb einen Blog-Post, die hilfreich sein können:

Visual Studio Web Deployment Projects

Es ist ein Jahr und eine halben alt, aber sprach über einige neue (damals) Projektvorlagen für VS und auch ein Befehlszeilenprogramm aus dem II-Team namens MSDeploy. Sie klang sehr vielversprechend und es schien, sie für die Ausrichtung mehrere Buildkonfigurationen ideal sind, synchronisieren mehrere Server innerhalb einer Farm, und mehr Kontrolle alle um über die tatsächliche Leistung Ihrer Website-Bereitstellung.

Vielleicht jetzt die Technologien als auch gereift sind.

Andere Tipps

Wir haben großen Erfolg gehabt mit Windows Installer XML . Grundsätzlich definieren Sie die Komponenten, die Ihre Anwendung in XML-Make-up und WiX Wendungen, die in ein MSI-Paket. Die Dokumentation ist relativ spärlich, aber die bereitgestellte CHM-Datei mit Such fu kombiniert werden Sie einen langen Weg dorthin gelangen.

Die Pakete MSI können Eingabeparameter für Konfigurationswerte nehmen und Aktionen Konfigurationsdateien, nachdem die Anwendung zu manipulieren, bereitgestellt wurde. Zum Beispiel: „msiexec / i MyCustomPackage.msi SqlServer = SomeSQLBox“ könnte die Web-Anwendung bereitstellen und den Konfigurationseintrag für ein abhängiges SQL-Feld ändern.

Visuelle Build-Pro von Kinook ist ein ziemlich gutes Werkzeug für One-Click-Bereitstellung. Es ist einfach zu bedienen und viele Fähigkeiten hat. Ich habe es seit Jahren. Natürlich gibt es auch NAnt, die ich nicht viel verwendet haben.

Was Konfigurationsänderungen verwalten, verwalten ich mehr Config-Dateien mit Erweiterungen, die die Implementierungsumgebung anzuzeigen, und dann nur eine einfache Umbenennungs als Schritt in meinem Build-Skript zu tun.

Zum Beispiel, wenn ich Test bin bereitstellen, ich könnte eine Konfigurationsdatei namens Web.test.config, die Web.config automatisch umbenannt wird durch den Build-Skript.

ich eine ziemlich detaillierte Blog-Post mit Teamcity geschrieben habe, und Web-Deployment-Projekte Build- und Deployment als Starter zu automatisieren hier:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

Ich habe dann zu dieser FTP zusätzlich zu zeigen

http: // www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment

Ein grundlegender Prozessablauf ist ziemlich einfach:

  • Mit einem Teamcity Build-Server ich von meinem SVN Repo herunterladen
  • Ich baue und die Seite in einem lokalen Ordner auf dem Build-Server
  • bereitstellen
  • Ich schieße eine Befehlszeile FTP-Client, der Scripting genannt unterstützt
  • WinSCP die MSBUILD Task-EXEC (http://winscp.net/)
  • Laden Sie alle meine Seiten Inhalt
  • Haben Sie [insert Getränk] der Wahl

ich dann sicher, dass ich nur den Kofferraum meines SVN Repo einzusetzen und entwickeln und alles in einem Zweig testet vor der Verschmelzung - auf diese Weise nur getestet Material eingesetzt wird. In Automatisiertes Testen auf Ihren Build-Zyklus und Sie haben ein Spiel in dem Himmel bekommen.

Einige große kostenlose Tools, gehend zu erhalten sind:

Ich sehe zwei verschiedene Fragen:

  • Für die Bereitstellung Sache: Die Clickonce-Bereitstellung es tun soll. Sie veröffentlichen nur Ihre Desktop-Anwendung von in VS.net im Bau-Menü> Veröffentlichen. VS.net kompiliert dann eine Web-Seite und eine setup.exe. Wenn Benutzer mit IE oder Firefox und .net 3.5 SP1 auf den Link klicken, läuft es sofort. Clickonce auch Griffe für Sie aktualisiert und es gibt umfangreiche API für sie zu entwickeln.
  • Kontinuierliche Integration ist eine ganz andere Sache. Ich schlage vor, dass Sie für ‚CruiseControl.net‘ Google und herunterladen und ausprobieren, wie viele Ressourcen wie möglich. Es ist im Grunde ein Build-Server, aber Sie können es mit SVN, NUnit Verbindung zum Testen und so weiter. Ich würde vorschlagen, nicht ein Buch für ein solches flüchtiges Produkt zu kaufen. Es ist am besten, es zu downloaden und zu versuchen die Dinge aus.

CruiseControl.NET für Ihre Kontinuierliche Integration Lösung. Für den Einsatz verwende ich eine MSBuild-Projektdatei. An der Spitze, dass ich halten alle Server-Konfigurationsdateien. Ich gehe zu MSBuild auf die durch die eine Server-Eigenschaft Parameter, die MSbuild welche Konfigurationswerte erzählt zu verwenden und dann vervollständigt die Bereitstellung. Der einzige Einsatz, die nicht direkt von CruiseControl- erfolgen ist derjenige, zu unserem Live-Server. Wir verlassen die Kommandozeile MSBuild nur, damit wir nicht aus Versehen einen Knopf drücken, oder so jemand mit Zugriff auf den Web-Dashboard CC.NET tut es um nur zu spielen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top