第5回 配備を自動化する:連載:いまどきのソース・コード管理(2/4 ページ)
ビルドが自動化されたら、デプロイも自動化しよう。Team Foundation Serverを使ってアプリのデプロイを自動で行う手順を説明する。
発行プロファイルの作成と構成の手順
では、新しいプロファイルを作成する手順を紹介しよう。「発行プロファイルの作成/インポート」の画面で示したダイアログにある[発行プロファイルの選択またはインポート]ドロップダウンリストボックスには[新しいプロファイル]という項目があるので、これを選択すると、プロファイル名を指定するダイアログが表示される(次の画面)。
プロファイルはデプロイ先にも直結するため、発行先がどこかがすぐに分かる名前を付ける必要がある。プロファイル名が曖昧でどこに発行するかが分からず、選択するプロファイルを間違えて、検証環境にデプロイするつもりが本番環境にデプロイしてしまった、ということが起きないようにするためにもこれは特に重要だ。
プロファイル名を指定して[OK]ボタンをクリックすると、プロファイルの構成を行うダイアログが表示される(次の画面)。
発行方法には以下の5種類の中から選択できる。IIS 7以降を使用する場合、[Web Deploy]および[Web Deploy パッケージ]以外は使用しなくてもよいだろう。
発行方法 | 説明 |
---|---|
[Web Deploy] | Web Deployを使用してサーバに登録する。デプロイ先のサーバにWeb Deployがインストールされている必要がある |
[Web Deploy パッケージ] | Web Deployのインストール・パッケージ(zipファイル)を作成する |
[FTP] | FTPを使用する。発行先がIISやWindows Serverではない場合のみ使用する |
[ファイル システム] | ローカル・ファイル・システム上に配置する |
[FPSE] | Front Page Server Extensionsを使用して発行する。IIS 7以降は標準で対応していないため、使用する必要はない |
Web発行で使用できる発行方法 |
[Web Deploy]を使用する場合の接続設定
[発行方法]に[Web Deploy]を指定した場合の[接続]画面を次に示す。
[発行方法]に[Web Deploy]を指定
(1)発行方法を選択する。
(2)発行先サーバ名を指定する。
(3)発行サイト名および仮想フォルダを指定する。
(4)発行に使用するユーザー名を指定する。
(5)発行に使用するパスワードを指定する。
(6)パスワードを保存するかどうか指定する。
(7)宛先URLを指定する。指定しなくてもよい。
(8)接続情報が正しいかどうか検証する。
接続に必要な情報を指定して、[接続の確認]ボタンをクリックすると接続確認の検証が行われる。Windows ServerのIISに発行する場合、標準状態では次の画面のような証明書エラーが出るはずだ。
これは「IISのリモート管理が使用している証明書がクライアントで検証できない証明書である」という理由でエラーになっているのだ。信頼できるネットワーク内であれば、このまま承諾してもいいが、本番環境では証明機関が発行しているサーバ証明書をとって、運用してほしい。証明書はhttpsのバインドではなく、IISの管理サービスで指定されているSSL証明書を変更する。
IIS管理サービスで証明書を設定
(1)管理サービスのリモート接続を有効にする。
(2)資格情報を選択する。
(3)IISのリモート管理接続元を指定する。
(4)IISのリモート管理に使用するポートを指定する。
(5)SSL証明書を選択する。
Active Directory環境であればOSの標準機能として用意されている証明書サービスを使用すれば認証局を立てられるため、証明書を安全に配布できる。紙面の都合で詳細な手順は紹介しないが、Active Directoryを使用する環境では検討してほしい。
[Web Deploy パッケージ]を使用する場合の接続設定
[発行方法]に[Web Deploy パッケージ]を選択した場合、[接続]画面は以下のようになる。サーバ名やサイト名を指定する項目はないが、コマンド・プロンプトからデプロイで指定できるため、アプリを複数のサーバにデプロイする際には便利だ。
[発行]ボタンをクリックすれば、[パッケージの場所]で指定した場所に配布パッケージとしてまとめられたzipファイルが作成される。なお、TFSビルド・サービスを使用する場合はTFSのビルド定義内の「ビルドの既定値」にある「ビルド出力を次の格納フォルダにコピーする」で指定した場所に出力される。実際の発行結果に関しては後述する。
[設定]画面と[プレビュー]画面
[発行方法]に[Web Deploy]と[Web Deploy パッケージ]のどちらを使用する場合でも、接続の構成を行って[次へ]ボタンをクリックすると[設定]画面になる。ここではファイル発行に使用する構成およびデータベース接続文字列を指定する。
発行プロファイルの[設定]画面
(1)発行に使用するソリューションの構成を選択する。
(2)発行先の追加ファイルを削除する。
(3)発行中にアプリをプリコンパイルする(アプリを発行時にコンパイルしておくことで、初回の起動が高速化される)。
(4)App_Dataフォルダ配下のファイルを除外する(通常はこのフォルダ配下にデータベースファイルなどがあるため、発行の度にその内容を上書きすると問題が起きる)。
(5)データベースへの接続文字列を指定する。
(6)指定した接続文字列でリモートのWeb.configファイルを書き換える。
(7)Entity Framework Code Firstを使用している場合、データベースのマイグレーションを実行する。
最後の[プレビュー]画面では発行方法を[Web Deploy]にした場合は、接続先サーバ上のファイルから追加、削除、置換するファイルが表示される。[Web Deploy パッケージ]の場合は作成するzipファイルの状態が表示される。
Copyright© Digital Advantage Corp. All Rights Reserved.