2009-08-19 14 views

Antwort

0

ich verwenden in der Regel die Build Publisher Task-Dateien auf Remote-Servern bereitstellen. Sie können auch ein Skript mit einem xcopy-Befehl zum Bereitstellen schreiben.

0

Sie können auch Web Deployment Projects verwenden, um damit zu helfen. In der WDP können Sie das ExcludeFromBuild-Element verwenden, um diese Dateien auszuschließen. Für weitere Informationen siehe http://msdn.microsoft.com/en-us/library/aa479568.aspx.

Dies würde behandeln die Website vorkompiliert für Sie zu veröffentlichen dann auf einem anderen dev-Server, dies hängt davon ab, wie Sie jetzt bereitstellen. Wenn Sie auf Netzwerkfreigabe oder FTP kopieren, können Sie auch solche mit MSBuild erstellen. Ich bin nicht mit dem Build Publisher vertraut, den die vorherige Antwort erwähnt.

+0

was, wenn Sie wollte deine web app (mvc) veröffentlichen und du hast kein visual studio auf dem server installiert, wie würdest du bauen und veröffentlichen? – Haroon

0

Ich fand this blog sehr nützlich. Im Wesentlichen zeigen Sie die Datei ccnet.config auf eine MSBuild.xml-Datei, die Sie in Ihrem Projektverzeichnis erstellen. Innerhalb der MSBuild.xml-Datei erstellen Sie ein Ziel, das die Webanwendung mit der _CopyWebApplication-Option erstellen und veröffentlichen wird.

2

Zum Veröffentlichen von Websites auf einem Entwicklungsserver, nachdem es auf meinem CI-Server in CruiseControl.NET erstellt wurde, verwende ich Microsoft Web Deploy . Sie müssen den Bereitstellungsdienst auf allen Servern installieren, bei denen es sich um Bereitstellungsziele handelt. Dann können Sie einfach einen Ausführungsschritt zu Ihrem Build-Prozess hinzufügen, der msdeploy.exe ausführt. Hier ist ein Beispiel, das ich in NAnt verwenden:

 <exec program="C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy.exe"> 
     <arg value="-verb:sync"/> 
     <arg value="-source:dirPath=&quot;${tmpdir}&quot;"/> 
     <arg value="-dest:dirPath=&quot;${deploy.dir}&quot;,computerName=http://${servername}/msdeploymentservice/"/> 
    </exec> 

von Web Deploy verwenden, können Sie leicht eine vollständige Synchronisierung der Website Inhalte zu entfernen Dinge tun können, die es nicht so gut sein sollte. Es hat auch andere Optionen, Dinge zu tun, wie bestimmte Verzeichnisse ignorieren und Ausgabebefehle App Pools Recycling usw.

2

Meine Lösung für CCNET mit der Web.config Transformation:

<tasks> 
    <msbuild> 
     <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
     <workingDirectory>E:\VersionesCC\Trunk_4\SBatz\Gertakariak_Orokorrak\GertakariakMS\Web</workingDirectory> 
     <projectFile>GertakariakMSWeb2.vbproj</projectFile> 
     <targets>Build</targets> 
     <timeout>600</timeout> 
     <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger> 
     <buildArgs> 
      /noconsolelogger /p:Configuration=Release /v:diag 
      /p:DeployOnBuild=true 
      /p:AutoParameterizationWebConfigConnectionStrings=false 
      /p:DeployTarget=Package 
      /p:_PackageTempDir=E:\Aplicaciones\GertakariakMS2\Web 
     </buildArgs> 
     </msbuild> 
</tasks> 
Verwandte Themen