にリチャード、 を開いています。
私たちは、IIS(サイトとアプリケーションプール)を停止し、新しいサイトをコピーしてIISのものを再起動するProduction Deploy CCタスクを手動で起動しました。
DMZデプロイメント(インターネットのもの、AD-auth'd接続が可能です)では、最終的な手順を実行するNAntスクリプトを含めて、内部的にビルドを行い、 。すべてを実行し、ZIPをターゲットサーバにFTPする内部CCタスクがあります。プロセスを完了するには、手作業による介入が必要です。ボックスにリモートログインし、NAntを解凍して「完了」展開(停止/コピー/開始/何でも)します。
私はGACについてはよく分からないんだけど、IISはNAntの
<property name="Remote.Executor" value="${ToolsDir}\PSTools\psexec.exe" overwrite="false" />
<!-- installs a particular windows service remotely from the command line -->
<target name="installWindowsServiceRemote">
<echo message="${Service.Install.Action}ing ${Service.Name} on ${Deploy.TargetServer}..." />
<exec program="${Remote.Executor}">
<arg line="\\${Deploy.TargetServer} ${Deploy.TargetFolder}\${Service.Name} /${Service.Install.Action}" />
</exec>
</target>
を経由して、我々はpsexec.exe
使用するサービスのために
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = GetObject("winmgmts:\\devserver.local\root\WebAdministration")
' Specify the application pool.
Set oAppPool = oWebAdmin.Get("ApplicationPool.Name='ProjectName'")
' Stop the application pool.
oAppPool.Stop
' now website; get the application website
Set objWebSite = GetObject("IIS://localhost/W3SVC/7") ' id of web site
' get the app pool object for the websites app pool id
Set objAppPool = GetObject("IIS://localhost/W3SVC/AppPools/ProjectName")
'stop the site
objWebSite.Stop()
' stop the app pool
objAppPool.Stop()
はとにかく、おそらくこれにアプローチする方法の数十があります.VBSファイルを経由して制御可能なようです - 内部で自動化された/外部からの手動ステップが必要なセットアップが私たちのために機能します。
ステージングサーバでcc.netを使用していないため+1。 –
+1自動アップロードのアイデアは+1ですが、DMZボックスに物理的にログインする手作業の「最後のステップ」です。 – CodingWithSpike