チーム開発に関連した GeneXus MSBuild タスク の一覧です。
この MSBuild タスクを使用する場合は、GeneXus.Server.Tasks.targets ファイルを基本スクリプトにインポートして、以下の行を追加する必要があります。
Import Project="C:\Program Files\Artech\GeneXus\GeneXusX\Genexus.Server.Tasks.targets" />
GeneXus Server でホストされているナレッジベースから、ナレッジベースのテンプレートに基づいて、指定されたディレクトリにローカル ナレッジベースを作成します。
構文:
<CreateKnowledgeBaseFromServer
Directory="kbDirectory"
XmlOutputFile="xmlfile"
CreateDbInKbFolder="true|false"
DBName="dbName"
IntegratedSecurity="true|false"
UserId="userId"
Password="password"
Language="language"
Overwrite="true|false"
ServerUri="http://localhost/GeneXusServer"
ServerInstance="instance"
ServerKBAlias="MyKnowledgeBase"
ServerVersionName="VersionName"
ServerUserName="user"
ServerPassword="password"
WriteElapsedTime="true|false"
FullKB="true|false"
UseExistentDB="true|false"
/>
入力値の説明:
-
ServerKBAlias: GeneXus Server の既定ページに表示されるナレッジベースのエイリアス。必須
-
ServerVersionName: ナレッジベースのバージョン名。指定しない場合、トランクバージョンであると見なされます。
-
ServerUserName: 安全な GeneXus Server でのログインに使用するユーザー名。プロパティ値の構文は <AuthenticationType>\<UserName>となります (例: "Gxtechnical\user12" または "Local\admin")
-
ServerPassword: 安全な GeneXus Server でのログインに使用するパスワード。
-
WriteElapsedTime: タスクの実行にかかった時間を記録。
-
FullKB: すべての利用可能なナレッジベース バージョンまたは選択されたナレッジベースをダウンロード。
-
UseExistentDB: 新しい SQLServer データベースを作成または既存のデータベースを使用 (既定値: false)。このプロパティは、Xev2 以降に固有のものです。
例:
C:\temp\MSBuild にある test.build ファイルで、次のような Target を指定しているとします:
<Target Name="CreateKnowledgeBaseFromServer">
<CreateKnowledgeBaseFromServer
Directory="$(KBPath)"
XmlOutputFile="$(XmlOutputFile)"
DBName="$(DBName)"
ServerInstance="$(ServerInstance)"
IntegratedSecurity="$(IntegratedSecurity)"
UserId="$(UserId)" Password="$(Password)"
CreateDbInKbFolder="$(CreateDbInKbFolder)"
Language="$(Language)"
ServerUri="$(ServerUri)"
ServerKBAlias="$(ServerKBAlias)"
ServerVersionName="$(ServerVersionName)"
/>
</Target>
GeneXus Server からナレッジベースを作成するには、次のようなプログラムを実行します:
msbuild.exe /t:CreateKnowledgeBaseFromServer /p:
KBPath=c:\Models\myKnowledgeBase;
ServerUri=http://MachineName/GeneXusServer/;
ServerKBAlias=KnowledgeBaseNameInServer;
ServerVersionName=VersionName;
/nologo "c:\temp\MSBuild\test.msbuild"
UpdateFromServer
接続しているナレッジベースをその GeneXus Server でホストされているナレッジベースと同じ内容に更新します。
構文:
<UpdateFromServer
OutputFile="$(OutputFile)"
Preview="true|false"
UpdateEnvironmentProperties="true|false"
UpdateKbProperties="true|false"
UpdateVersionProperties="true|false"
ServerUserName="user"
ServerPassword="password"
VersionName="$(VersionName)"
/>
入力値の説明:
-
ServerUserName: GeneXus Server に安全にログインするために使用するユーザー名 (ローカル gxserver ユーザーの場合は local\user、gxtechnical ユーザーの場合は gxtechnical\user)
-
ServerPassword: 安全な GeneXus Server でのログインに使用するパスワード。
-
UpdateKbProperties | UpdateVersionProperties | UpdateEnvironmentProperties: ナレッジベース、バージョンまたは環境のプロパティを強制的に更新するかどうかを指定するブール値の項目属性 (既定値: false)。
-
Preview:更新のプレビューまたは更新処理 (既定値: false)。
-
VersionName:ナレッジベースのバージョン名。既定ではトランクが選択。
-
OutputFile:操作の詳細が入った出力ファイル。
このタスクは、OpenKnowledgeBase タスクに依存しています。
例:
C:\temp\MSBuild にある test.build ファイルで、次のような Target を指定しているとします:
<Target Name="Update" DependsOnTargets="OpenKnowledgeBase">
<UpdateFromServer />
</Target>
一度 GeneXus Server からナレッジベースを作成すると、それを更新するために次のコマンドを実行することができます:
msbuild.exe /t:UpdateFromServer /p:KBPath=c:\Models\myKnowledgeBase "c:\temp\MSBuild\test.msbuild"
Commit
ローカルのナレッジベースに加えた変更(コミットは保留状態)を GeneXus Server でホストされているナレッジベースに送信します。
構文:
<Commit
Comments="Comments here"
Objects="$(ObjectList)"
ServerUserName="user"
ServerPassword="password"
CommitEnvironmentProperties="true|false"
CommitKbProperties="true|false"
CommitVersionProperties="true|false"
/>
入力値の説明:
-
Comments: 今回コミットする変更内容の説明。必須
-
Objects:$(ObjectList) は、指定するオブジェクトのリストです (MSBuild タスクのオブジェクト リストを参照してください)。このパラメーターを使わないかぎり、すべての保留中のオブジェクトがコミットされます。
-
ServerUserName: 安全な GeneXus Server でのログインに使用するユーザー名。
-
ServerPassword: 安全な GeneXus Server でのログインに使用するパスワード。
-
CommitKbProperties | CommitVersionProperties | CommitEnvironmentProperties: ナレッジベース、バージョンまたは環境のプロパティを強制的にコミットするかどうかを指定するブール値の項目属性 (既定値: false)。
このタスクは、OpenKnowledgeBase タスクに依存しています。
例:
C:\temp\MSBuild にある test.build ファイルで、次のような Target を指定しているとします:
<Target Name="Commit" DependsOnTargets="OpenKnowledgeBase">
<Commit Comments="$(Comments)" />
</Target>
一度 GeneXus Server からナレッジベースを作成すると、それをコミットするために次のコマンドを実行することができます:
msbuild.exe /t:Commit /p:KBPath=c:\Models\myKnowledgeBase;Comments="Feature X completed" "c:\temp\MSBuild\test.msbuild"
SendKnowledgeBaseToServer
ローカルナレッジベースを GeneXus Server のインスタンスで公開します。
構文:
<SendKnowledgeBaseToServer
ServerUri="http://ServerName/GeneXusServer"
ServerKBAlias="MyServerKB"
ServerUserName="user"
ServerPassword="password"
WriteElapsedTime="true|false"
FullKB="true|false"
WWLocks="true|false"
/>
入力値の説明:
-
ServerUri:GeneXus Server がインストールされているサーバーの URL必須
-
ServerKBAlias: GeneXus Server にあるナレッジベースのエイリアス。サーバー上で固有でなければなりません。必須
-
ServerUserName: 安全な GeneXus Server でのログインに使用するユーザー名。
-
ServerPassword: 安全な GeneXus Server でのログインに使用するパスワード。
-
WriteElapsedTime:タスクの実行にかかった時間を記録。
-
FullKB: すべてのナレッジベースまたは選択したバージョンのみを GXserver へ送信 (既定値: false)。
-
WWLocks: バージョン管理モデルを選択。既定値は false で [ マージ ] モード となり、 [ true ] に設定すると、 [ ロック ] モードになります。このプロパティは、Xev2 以上に固有のものです。
このタスクは、OpenKnowledgeBase タスクに依存しています。
例:
C:\temp\MSBuild にある test.build ファイルで、次のような Target を指定しているとします:
<Target Name="SendKBToServer" DependsOnTargets="OpenKnowledgeBase">
<SendKnowledgeBaseToServer ServerUri="$(ServerUri)" ServerKBAlias="$(ServerKBAlias)"/>
</Target>
ローカルのナレッジベースを GeneXus Server に送信するには、次のタスクを実行しているナレッジベースをサーバーに送信 MSBuildタスク を使用します。
msbuild.exe /t:SendKnowledgeBaseToServer /p:KBPath=c:\Models\myKnowledgeBase;
ServerUri=http://ServerName/GeneXusServer/;ServerKBAlias=myKBinTheServer
/nologo "c:\fullgx\MSBuild\test.msbuild"
Xev2 固有のタスク
LockObjects
オブジェクトのリストをロックします。
構文:
<LockObjects
Objects="ObjectList"
/>
入力値の説明:
-
ObjectList: ロックするオブジェクトのリスト。オブジェクトを指定する構文について詳しくは、こちらを参照してください。
このタスクは、OpenKnowledgeBase タスクに依存しています。
例:
C:\temp\MSBuild にある test.build ファイルで、次のような Target を指定しているとします:
<Target Name="LockObjects" DependsOnTargets="OpenKnowledgeBase">
<LockObjects ServerUserName="$(ServerUserName)" ServerPassword="$(ServerPassword)" Objects="$(Objects)" />
</Target>
オブジェクトをロックするには、次のコマンドを実行します。
msbuild.exe /t:OpenKnowledgeBase;LockObjects /p:KBPath=c:\Models\myKnowledgeBase;Objects="MyProcedureName" "c:\fullgx\MSBuild\test.msbuild""
UnlockObjects
オブジェクトのリストのロックを解除します。
構文:
<UnlockObjects
Objects="ObjectList"
/>
入力値の説明:
-
ObjectList: ロックを解除するオブジェクトのリスト。オブジェクトを指定する構文について詳しくは、こちらを参照してください。
このタスクは、OpenKnowledgeBase タスクに依存しています。
例:
C:\temp\MSBuild にある test.build ファイルで、次のような Target を指定しているとします:
<Target Name="UnlockObjects" DependsOnTargets="OpenKnowledgeBase">
<UnlockObjects ServerUserName="$(ServerUserName)" ServerPassword="$(ServerPassword)" Objects="$(Objects)" />
</Target>
オブジェクトのロックを解除するには、次のコマンドを実行します。
msbuild.exe /t:OpenKnowledgeBase;UnlockObjects /p:KBPath=c:\Models\myKnowledgeBase;Objects="MyProcedureName" "c:\fullgx\MSBuild\test.msbuild"
StealLocks
選択したオブジェクトのリストについて、ロックの強制的な取得を行います。
構文:
<StealLocks
Objects="ObjectList"
/>
入力値の説明:
-
ObjectList: ロックを強制的に取得するオブジェクトのリスト。オブジェクトを指定する構文について詳しくは、こちらを参照してください。
このタスクは、OpenKnowledgeBase タスクに依存しています。
例: C:\temp\MSBuild にある test.build ファイルで、次のような Target を指定しているとします:
<Target Name="StealLocks" DependsOnTargets="OpenKnowledgeBase">
<StealLocks ServerUserName="$(ServerUserName)" ServerPassword="$(ServerPassword)" Objects="$(Objects)" />
</Target>
オブジェクトのロックを強制的に取得するには、次のコマンドを実行します。
msbuild.exe /t:OpenKnowledgeBase;StealLocks /p:KBPath=c:\Models\myKnowledgeBase;Objects="MyProcedureName" "c:\fullgx\MSBuild\test.msbuild"
解説
-
msbuild.exe ファイルは Microsoft .net 2.0 フォルダ (通常、C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\) にあります。
-
OpenKnowledgeBase タスクに依存するすべてのタスクで、msbuild ファイルに次のような Target が指定されていると仮定しています。
<Target Name="OpenKnowledgeBase">
<OpenKnowledgeBase Directory="$(KBPath)" />
</Target>
|