ラベル .net Framework の投稿を表示しています。 すべての投稿を表示
ラベル .net Framework の投稿を表示しています。 すべての投稿を表示

2013年9月10日火曜日

MSDeployを使用して、JenkinsからWebサーバにデプロイする

定型処理は自動化しましょう!ということで、JenkinsからMSDeployを使ってASP.netプログラムを、Windows 2012 Server上のIISにデプロイできるようにしてみました。

 

Windows Server 2012 (デプロイ先)の設定

◯前提条件

  • サーバーマネージャーからIISがインストールされている状態

 

◯Web Platform Installer から、Web配置ツールをインストール

製品 → すべて → Web配置ツールを探し出して、追加をクリック

無題クリップ 062813 030821 PM

 

インストールをクリックすると、『これでインストールするけど、いいかい?』って聞かれるので、同意しましょう。

無題クリップ 062813 030930 PM

 

 

インストールが終了するまで待ちます。

無題クリップ 062813 030957 PM

 

 

他のもいろいろインストールされましたが、Web配置ツールが入ったので良しとしましょう。

無題クリップ 062813 031118 PM

 

 

◯IISで展開の設定

IIS上のDefault Web Site を右クリックし、展開→Web配置による発行の有効化 をクリックします。

無題クリップ 062813 031514 PM

 

 

Web配置による発行の有効化の画面が出てきます。

ほとんどは初期値で良いのですが、『発行の設定ファイルの保存先を指定します』の項目だけは初期値ではうまく行かなかったので、C:¥inetpub¥wwwroot配下に設定します。

無題クリップ 062813 043330 PM

あとは、設定をクリックして、設定を反映しておきます。

 

 

 

Jenkins側の設定(Windows 7 Pro)

◯前提条件

  • .net Framework 4.0がインストールされていること
  • MSBuild(Jenkins Plugin)がインストールされていること

 

◯MSBuildプラグインの設定

まずは、.net Frameworkのバージョンを明示的に指定します。

Jenkinsのトップページから、『Jenkinsの管理』→『システムの設定』から、MSBuildの項目を下記のように設定します。

Name:任意の名称(バージョンがわかりやすければ、どんな名称でも問題ないと思います)

Path to MSBuild : 指定バージョンのMSBuild.exeへの絶対パス

Default Parameters : 今回は使用しません。

Blog 20130910 01

 

 

◯ジョブを作成する

フリースタイル・プロジェクトのビルド を選択して、新規ジョブを作成します。

 

◯MSBuildの設定

『ビルド手順の追加』から、『Buil a Visual Studio project or solution using MSBuild』を選択し、手順を追加します。

Blog 20130910 03

 

MSBuild Version : 『MSBuildプラグインの設定』で作成した、バージョン情報

MSBuild Build File : ジョブディレクトリ配下のworkspaceディレクトリ配下からの、プロジェクトorソリューションファイルへの相対パス

Command Line Arguments : ビルドはリリースで、ターゲットはPackageに指定

Blog 20130910 02

 

◯MSDeployコマンドを設定する

『ビルド手順の追加』から、『Windowsバッチコマンドの実行』を選択し、手順を追加します。 

Blog 20130910 04 

設定するバッチコマンドの内容は以下のようになります。(実際は一行で記述します。)

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 

-verb:sync 

-source:package='[ビルドパッケージのパス]' 

-dest:auto,wmsvc=[サーバアドレス],includeAcls='False',username=[サーバユーザ],password=[ユーザパスワード] 

-setParam:"IIS Web Application Name"="[デプロイ場所]" 

-allowUntrusted=true

Blog 20130910 05

 

 

以上で、デプロイサーバ側、Jenkinsジョブの設定が完了です。

これでVCSのポーリングを組み合わせて、コミット/プッシュに応じてビルド〜デプロイまでを自動化することができます。

本番環境へのデプロイなんかは、間にテストをかませたり、ワークフロー的な動きが出てきたりしますが、開発環境レベルではこのレベルで問題かなぁと思います。

 

 

2013年5月31日金曜日

FxCopをWindows 2012 server にインストールする

 

いままでソースコード解析に使用していたFxCopが、なぜかそのままだとWindows 2012 serverにインストールできなかったので、試行錯誤の結果を備忘録としてまとめておきます。

 

FxCopとは

.NET のソースコードをチェックする、MS社謹製のツールです。

基本的にはMS社の『クラスライブラリ開発のデザインガイドライン』に則り解析をするようです。

FxCopのインストーラーは『Microsoft Windows SDK for Windows 7 and .NET Framework 4』に含まれています。

Windows 2008 standard 64bitはこちらでインストールが可能でした。

 

 

調べる

『FxCop Windows8』で調べると出るわ出るわ

どちらも解決方法が同じだったので、これらを参考に対処していきます。

 

 

ISOをダウンロード

下記サイトから、CPUアーキテクチャに合わせてISOをダウンロードします。

Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO)

 

 

インストール

ダウンロードしたISOを右クリックでマウントします。

CDドライブとしてマウントされたはずです。

 

先ほど参考にしたサイトの通り、ファイルを抽出します。

  1. CDのルート → Setup → WinSDKNetFxTools → cab1.cab をエクスプローラで開く
  2. cab1.cab内にある、『WinSDK_FxCopSetup.exe』から始まるファイル名のファイルを、適当なディレクトリ(デスクトップとか)にコピペする
  3. 拡張子をexeに変更し、実行する
  4. ウィザードに従って、インストールを進める

これで、FxCopがインストール出来ました。

スクリーンショット 053113 120349 PM

 

マイクロソフト様には、早めにWindows 2012対応のFxCopを出してほしいものです。