Ich möchte in meinen Azure-Bereitstellungen unterschiedliche VM-Größen bereitstellen, je nachdem, welcher Cloud-Dienst das Ziel ist (z. B. möchte ich größere Instanzen in der Produktion, kann aber im Test mit kleineren Instanzen auskommen). In Visual Studio 2010 wird angezeigt, dass die Größen in allen Dienstkonfigurationen übereinstimmen müssen.
Gibt es eine Problemumgehung, oder ist das genau so?
Der beste Workaround, den ich gefunden habe, ist, zwei verschiedene Cloud-Projekte zu haben. Im Grunde erstellen Sie einfach zwei verschiedene Cloud-Projekte, fügen allen die gleichen Rollen hinzu, haben jedoch unterschiedliche Konfigurationen. Sie müssen nur vorsichtig sein, alle Konfigurationen an beiden Orten jedes Mal zu aktualisieren, wenn Sie es ändern. Dies bedeutet, dass es zwei CSDEFs gibt, wie Brent the Programming Simian bereits erwähnt hat, dies ist nur ein konkreter Weg, um das zu erreichen.
Dies gibt Ihnen auch Flexibilität auf andere Weise. Sie können beispielsweise eine Testwebsite mit HTTP- und HTTPS-Endpunkten einrichten, die Produktionsstätte kann jedoch nur über HTTPS verfügen.
Ich habe einen ausführlichen Blog zu einem etwas breiteren Thema geschrieben, bei dem verschiedene Konfigurationsdateien nach Umgebung (DEV / QA / PROD / etc) verschoben werden ... Details finden Sie hier: Ссылка
Im Grunde genommen besteht der Ansatz darin, die vorbereitenden Ereignistechniken zu verwenden, um umgebungsspezifische .CSDEF-Dateien von einem freigegebenen Speicherort zu kopieren.
Die VM-Größe wird in der Servicedefinitionsdatei deklariert. Das Erstellen von Cloud-Service-Paketen mit unterschiedlichen Größen erfordert daher unterschiedliche Pakete. Letztlich unterstützt Visual Studio dies nicht.
Wenn Sie darüber hinaus einen Cloud-Service (PaaS) erstellen, frage ich mich, warum dies erforderlich ist. Die beste Anleitung, die ich erhalten habe, ist die Ausführung der kleinsten VM, die Sie benötigen, und die Ausführung so vieler, wie es Ihre Last vorschreibt. Durch die Bereitstellung mehrerer kleinerer Instanzen hat Ihre Lösung letztendlich eine höhere Ausfallsicherheit.
Ich habe weiter oben kommentiert, dachte aber, ich würde meine Lösung mit Powershell bereitstellen. Ich führe das vor dem Aufbau auf meinem CI-Server, der TeamCity ist, aber das könnte lokal oder auf CI ausgeführt werden.
%Vor%Bitte beachten Sie, dass ich zu der Zeit, als dies geschrieben wurde, nur mit einer einzelnen Web- und Worker-Rolle arbeiten musste, daher bin ich mir nicht sicher, ob dies jemals mit mehreren Worker-Rollen getestet wurde. Es sollte zumindest genug sein, um Sie zu starten.
Tags und Links azure visual-studio-2010