2017-06-28 4 views
0

私はJenkinsのビルドジョブをJenkinsfileのマルチブランチパイプラインプロジェクトとしてセットアップしました。自動的にgitをスキャンしてブランチを検索し、結果をビルドしてIIS仮想パスのサブディレクトリに展開します。これは、フロントエンドコードに最適です。Jenkinsは、デプロイ時に新しいGITブランチのIISアプリケーションを自動的に設定しました

ただし、.Netプロジェクトの場合は、各ディレクトリをIISの「アプリケーション」として構成する必要があります。

ビルドスクリプトで自動的に "IISアプリケーション"を作成し、新しく検出されたブランチのアプリケーションプールを設定する方法はありますか?

答えて

0

があなたのJenkinsfileに以下を追加します。あなたが別のサーバー上のIISアプリケーションを作成する必要がある場合

stage("Deploy web application") { 
    steps { 
    ... 
    virtualPath = '/myapp/' + env.BRANCH_NAME 
    physicalPath = 'C:\myapp\\'+env.BRANCH_NAME 
    addIisApplication('appName', 'appPoolName', virtualPath, physicalPath) 
    } 
} 

def addIisApplication(appName, appPoolName, virtualPath, physicalPath) { 
    iisAppCmd("add app /site.name:" + appName + " /path:" + virtualPath +" /physicalpath:"+physicalPath) 
    iisAppCmd("set app "+appName + virtualPath+" /applicationpool:" + appPoolName) 
} 

def iisAppCmd(args) { 
    bat 'C:\\Windows\\System32\\inetsrv\\appcmd.exe ' + args + " & exit 0" // ignore already exists error 
} 

を、SysInternals PsExec経由appcmd.exeを呼び出します。

ここで、新しい機能ブランチを作成してプッシュすると、Jenkinsはそれを構築してIISサーバーに展開できます。

関連する問題