BizTalk 2006 で展開操作を行うために BTSTask と BTSControl を使用しています。BizTalk 2009 に移行しましたが、これらのツールは BT2009 では動作しないようです。BT2009 用の特定のバージョンまたは新しいツールはありますか?
3 に答える
代わりに、 BizTalk Deployment Frameworkを検討します。MSBuild と WIX に基づいて構築されており、開発者ツールを追加して開発用のものをすばやく展開することから、WIX を介したパッチ適用の処理まで、あらゆることを行います。強くお勧めします。
私は BizTalk 2009 で同じ制限にぶつかりましたが、 PowerShell スクリプト内からMicrosoft.BizTalk.ExplorerOMを使用して回避することができました。
BizTalk アプリケーションの停止と開始の例
( PowerShell を使用した BizTalk 展開に関するこの優れたブログ投稿に続きます)
param
(
[switch] $start,
[switch] $stop,
[string] $appName,
[string] $connectionstring
)
function Stop-Application
{
$app = $catalog.Applications[$appName]
if ($app -eq $null)
{
Write-Host "Application " $appName " not found" -fore Red
}
else
{
if ($app.Status -ne 2)
{
$null = $app.Stop(63)
$null = $catalog.SaveChanges()
$null = $catalog.Refresh()
Write-Host "Stopped application: " $appName -fore Green
}
else
{
Write-Host "Application: " $appName " already stopped" -fore Yellow
}
}
}
function Start-Application
{
$app = $catalog.Applications[$appName]
if ($app -eq $null)
{
Write-Host "Application " $appName " not found" -fore Red
}
else
{
if ($app.Status -eq 2)
{
$null = $app.Start(63)
$null = $catalog.SaveChanges()
$null = $catalog.Refresh()
Write-Host "Started application: " $appName -fore Green
}
else
{
Write-Host "Application: " $appName " already started" -fore Yellow
}
}
}
$null = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")
$catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$catalog.ConnectionString = $connectionstring
if ($catalog.Applications -eq $null)
{
Write-Host "Application catalog is empty" -fore Red
}
if ($start)
{
Start-Application
}
if ($stop)
{
Stop-Application
}
当社の BizTalk の展開は、PowerShell を介して MSBuild、BTSTask、および ExplorerOM によって駆動されます。他のアセンブリ (またはポート) が依存するアセンブリをデプロイするときの問題も解決できました。
私は BTSTask や BTSControl を個人的に使用した経験はありませんが、実際に Team Foundation Server を利用して BizTalk 2009 で大きな成功を収めることができました。基本的に以下に概説する記事に従い、そこから自分の環境に合わせてカスタマイズしました。
BizTalk 2009 - Team Foundation Server 2008 によるビルドと展開の自動化 - パート 1