実際にGeneXusを使って開発し、直面するリリース(デプロイ)作業について手順をまとめましたのでアップします。
まずは、.net版です。
.netジェネレーターの場合、デプロイメントツールは標準でインストールされていません。エクステンションモジュールとして追加インストールする必要があります。
1. デプロイメントツールのダウンロード ダウンロードはこちらから。http://blog.genexus.jp/files/CSharpXCopyDeployment.zip
ダウンロードしたzipファイルを任意のフォルダに解凍します。
2. デプロイメントツールのインストール
2-1.「ツール」→「エクステンションマネージャー」を開く
2-2.「追加」ボタンをクリック
2-3.「ローカル」タブをクリック
2-4.ファイルの選択ボタンをクリックし、解凍したCSharpXCopyDeployment.zip.dllファイルを選択し、「OK」ボタンをクリックします。
2-5. エクステンションマネージャーにて「CSharpXCopyDeployment」をチェックし、「変更の適用」をクリックします。
2-6.GeneXusを再起動します。
3. デプロイ
3-1.事前準備
(1)環境
GeneXus Xでは、基本的な考え方としてジェネレート・デプロイする環境ごとに「環境」を作成・設定します。
例えば、「開発サーバー」「本番サーバー」と2系統ジェネレーター(デプロイ先)があるのであれば、環境も二つ作成し、それぞれ「Dev」「Release」といった判りやすい名前をつけましょう。
手順は以下の通りです。
(1)-a. ナレッジベースナビゲータにて、「設定」→「環境」を右クリックし、新規環境を選択
(1)-b. ビルドをする時に、対象となる環境を右クリックし、「アクティブにする」を選択
※ 本番環境(DB)がGeneXusから直接接続できないケースでは、LAN内のDBを仮の本番DBに見立てて、データベース再編成を実行します。
※ この場合、DB再編成プログラムをエクスポートした後、DB接続情報を本番環境の情報に変更します。
4. データベース再編成のエクスポート
4-1.「ツール」→「CSharp Generator」→「Deployment Tools」をクリックし、デプロイメントツールを起動する。
4-2.「Export Reorganization」タブをクリック(ディフォルト表示)
4-3.「Destination folder」に出力先のディレクトリがディフォルト表示されています。
ディレクトリ名は「reorgYYYYMD」(YYYYMDはシステム日付)となっています。
一日に複数回実行する場合は、名前を変更して上書きされないようにしてください。
4-4.「Confirm」ボタンをクリックすると、指定したディレクトリにモジュールがエクスポートされます。
4-5.データベース接続情報の変更
データベース再編成をエクスポート後にデータベース接続情報を変更したい場合は、「GxConfig.exe」というツールを使います。
「GxConfig.exe」はナレッジベースディレクトリ\ターゲットディレクトリ\web\binに出力されています。
標準的な環境では「C:\Models\ナレッジベース名\CSharpModel\web\bin」になります。
4-5-1.「GxConfig.exe」をデータベース再編成がエクスポートされたディレクトリにコピーします。
4-5-2.「client.exe.config」ファイルを「web.config」へリネームします。
4-5-3.「GxConfig.exe」を起動すると以下の画面が表示されます。
4-5-4.上部のコンボボックスにて「Default」を選択すると、ナレッジベースの環境にて設定されていたデータベース接続情報が表示されます。
4-5-5.デプロイ先のデータベース接続情報を設定し、「Save」ボタンをクリックします。ユーザー名、パスワードは暗号化されて保存されます。
4-5-6.「web.config」ファイル名を「client.exe.config」へリネームします。
編集が終わったら「GxConfig.exe」は削除しても構いません。(データベース再編成処理の実行には影響ありません)
注記
※ ユーザー、パスワード以外の項目のみ変更するのであれば、直接「Client.exe.config」ファイルをエディタで開いて編集・保存する事も可能です。
※ SQLServerでWindows認証を使用している場合は、ユーザー・パスワードの変更は必要ありません。(空文字も暗号化し保存されています)
<datastores> <add key="Connection-Default-DBMS" value="sqlserver" /> <add key="Connection-Default-Port" value="" /> <add key="Connection-Default-LockTimeout" value="0" /> <add key="Connection-Default-LockRetryCount" value="10" /> <add key="Connection-Default-Datasource" value="SERVERNAME\SQL2005" /> <add key="Connection-Default-User" value="NTgYdf1h5ihuWiTvoLCm2A==" /> <add key="Connection-Default-Password" value="U0lBHj4leN1tXEjswyrAKQ==" /> <add key="Connection-Default-DB" value="BillingSystem" /> <add key="Connection-Default-Opts" value=";Integrated Security=yes;" /> <add key="Connection-Default-TrnInt" value="1" /> </datastores> |
4-6.データベース再編成の実行
4-6-1.エクスポートしたファイルを全てデプロイ先のデータベースサーバーもしくはデータベースサーバーにネットワーク的に接続可能なサーバー/PCにコピーします。
4-6-2.「Reor.exe」を実行します。
「実行」ボタンをクリックすると、対象データベースに対して、再編成処理が実行されます。
※ 注意1 データベース再編成処理はDDL(Data Define Language)を実行します。つまり、通常のSQL文(DML)の様にロールバックが効きません。従って、何らかの理由で再編成の途中でエラーが発生した場合は、実行前の状態には自動で戻りません。再編成を行う場合は事前に必ずデータベースのバックアップを行ってください。(GeneXusの制約事項ではなく、DBMSの仕様です)
5. webアプリケーションのエクスポート5-1.「ツール」→「CSharp Generator」→「Deployment Tools」をクリックし、デプロイメントツールを起動し、「Web Deployment」タブをクリックする。
5-3.「Destination folder」に出力先のディレクトリがディフォルト表示されています。
ディレクトリ名は「webYYYYMD」(YYYYMDはシステム日付)となっています。
一日に複数回実行する場合は、名前を変更して上書きされないようにしてください。
項目
|
説明
| |
Virtusl Directory
|
デプロイ先でのIISの仮想ディレクトリ名を指定します。
| |
OverWrite
|
チェック
|
既に同じ名前で仮想ディレクトリが存在した場合、設定を上書きします。
|
非チェック
|
既に同じ名前で仮想ディレクトリが存在した場合、設定を上書きしません。
|
5-4.「Confirm」ボタンをクリックすると指定したディレクトリにモジュールがエクスポートされます。
5-5.データベース接続情報の変更
データベース再編成と同様に、データベース接続情報を変更したい場合は、「GxConfig.exe」を使います。
WebDeploymentにおける「GxConfig.exe」の実行に関しては、データベース再編成とフォルダ・ファイル構成が違うため、以下の2つの方法があります。
(1) 「web.config」ファイルをbinフォルダ(GxConfig.exeがあるフォルダ)にコピー(移動)し、GxConfig.exeを起動します。
この場合、web.configを修正・保存後にbinフォルダからwebフォルダへ再度コピー(移動)する必要があります。
(2) コマンドプロンプトから「GxConfig.exe」を実行する方法
コマンドプロンプトを開き、WebDeploymentの出力先ディレクトリに移動します。
「GxConfig.exe」を相対パスで実行します。
この方法の場合、「web.config」ファイルをコピー(移動)する必要がありません。
5-6.Webアプリケーションのデプロイ
5-6-1.エクスポートしたファイルをディレクトリごとコピーし、デプロイ先のサーバー/PCへ配置します。
5-6-2.デプロイフォルダにある「createVirtualDirectory.bat」を実行します。
エクスポート時に指定したVirtusl Directoryで仮想ディレクトリが作成されます。
又、仮想ディレクトリ作成後、ブラウザが自動的に起動し開発者メニューが表示されます。
最後に
当エントリーのPDF版はこちらです。
デプロイメント方法.net編.pdf
0 件のコメント:
コメントを投稿