ここでは、
チーム開発に関連する
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"
ServerInstance="instance"
ServerUri="http://ServerName/GeneXusServer"
ServerKBAlias="MyKnowledgeBase"
ServerVersionName="VersionName"
ServerUserName="user"
ServerPassword="password"
ServerToken="token"
WriteElapsedTime="true|false"
FullKB="true|false"
UseExistentDB="true|false"
/>
オプション
Directory:
CreateKnowledgeBase タスクの [
Directory ] プロパティの値です。
XmlOutputFile: タスク実行の出力ファイルです (XML 形式)。
CreateDbInKbFolder:
CreateKnowledgeBase タスクの [
CreateDbInKbFolder ] プロパティの値です。
DBName:
CreateKnowledgeBase タスクの [
DBName ] プロパティの値です。
IntegratedSecurity:
CreateKnowledgeBase タスクの [
IntegratedSecurity ] プロパティの値です。
UserId:
CreateKnowledgeBase タスクの [
UserId ] プロパティの値です。
Password:
CreateKnowledgeBase タスクの [
Password ] プロパティの値です。
Language:
CreateKnowledgeBase タスクの [
Language ] プロパティの値です。
Overwrite:
CreateKnowledgeBase タスクの [
Overwrite ] プロパティの値です。
ServerUri: GeneXus Server のインスタンスが実行されている場所の URL です。
必須
ServerInstance:
CreateKnowledgeBase タスクの [
ServerInstance ] プロパティの値です。
ServerKBAlias: GeneXus Server の既定のページに表示されるナレッジベースの
エイリアスです。
必須
ServerVersionName: ナレッジベースのバージョン名です。指定しなかった場合、トランクバージョンであると見なされます。
ServerUserName: 安全な GeneXus Server でのログインに使用するユーザー名です。このプロパティ値の構文は <認証タイプ>\<ユーザー名> です (gxtechnical\user12、local\admin など)。
ServerPassword: 安全な GeneXus Server でのログインに使用するパスワードです。
ServerToken: 安全な GeneXus Server でのリクエストの認証とオーソライズに使用するセッショントークンです。ユーザー名およびパスワードで認証を行う方法の代わりに使用できます。
WriteElapsedTime: タスクの実行にかかった時間を記録します。
FullKB: すべての利用可能なナレッジベースバージョンまたは選択したナレッジベースをダウンロードします。
UseExistentDB: 新しい SQL Server データベースを作成するか、既存のデータベースを使用します (既定値: False)。
例
C:\temp\MSBuild にある
test.build ファイルで、ターゲットを次のように指定しているとします。
<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"
GeneXus Server でホストされているナレッジベースから、接続しているナレッジベースを更新します。
このタスクは
OpenKnowledgeBase タスクに依存します。
構文
<UpdateFromServer
OutputFile="$(OutputFile)"
Preview="true|false"
UpdateKbProperties="true|false"
ServerUserName="user"
ServerPassword="password"
ServerToken="token"
VersionName="$(VersionName)"
IncludeItems="$(ObjectList)"
ExcludeItems="$(ObjectList)"
/>
オプション
OutputFile: 操作の詳細が含まれる出力ファイルです。
Preview: 更新のプレビューまたは更新操作を行います。既定値は false です。
UpdateKbProperties: ナレッジベースのプロパティを更新できるようにするブール値の項目属性です (既定値: false)。
ServerUserName: GeneXus Server への安全なログインに使用するユーザー名です (ローカルの GeneXus Server ユーザーまたは GeneXus Account ユーザー)。
ServerPassword: ログインに使用するパスワードです。
ServerToken: リクエストの認証とオーソライズに使用するセッショントークンです。
VersionName: ナレッジベースのバージョン名です。既定ではトランクが選択されます。
IncludeItems: 更新するオブジェクトを指定します (指定しない場合、既定ですべてのオブジェクトになります)。
ExcludeItems: 更新しないオブジェクトを指定します。
例
C:\temp\MSBuild にある
test.build ファイルで、ターゲットを次のように指定しているとします。
<Target Name="Update" DependsOnTargets="OpenKnowledgeBase">
<UpdateFromServer />
</Target>
GeneXus Server からナレッジベースを作成後、それを
更新するには、次のコマンドを実行します。
msbuild.exe /t:Update /p:KBPath=c:\Models\myKnowledgeBase "c:\temp\MSBuild\test.msbuild"
ローカルでの変更 (コミット保留中) を
GeneXus Server でホストされているナレッジベースに送信します。
このタスクは
OpenKnowledgeBase タスクに依存します。
構文
<Commit
Comments="Comments here"
Objects="$(ObjectList)"
ServerUserName="user"
ServerPassword="password"
ServerToken="token"
CommitEnvironmentProperties="true|false"
CommitKbProperties="true|false"
CommitVersionProperties="true|false"
/>
オプション
Comments: 今回
コミットする変更内容の説明です。
必須
Objects:$(ObjectList) には、オブジェクトのリストを指定します (「
MSBuild タスクのオブジェクトリスト」を参照)。このパラメーターを使用しなかった場合、保留中のすべてのオブジェクトがコミットされます。
ServerUserName: ログインに使用するユーザー名です。
必須 (トークンは必要ありません)
ServerPassword: ログインに使用するパスワードです。
必須 (トークンは必要ありません)
ServerToken: リクエストの認証とオーソライズに使用するセッショントークンです。
必須 (ユーザー名またはパスワードは必要ありません)
CommitKbProperties |
CommitVersionProperties |
CommitEnvironmentProperties: ナレッジベース、バージョン、または環境のプロパティを強制的にコミットするかどうかを指定するブール値の項目属性です (既定値: false)。
例
Commit の例 1:
C:\temp\MSBuild にある
test.build ファイルで、ターゲットを次のように指定しているとします。
<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"
Commit の例 2: 一部のオブジェクトをコミットするには、「
Objects」パラメーターを使用します。
<Target Name="Commit" DependsOnTargets="OpenKnowledgeBase">
<Commit
Comments="$(Comments)"
Objects="DataStoreCategory:MyDataStore,Transaction:Customer,Procedure:SalesReport"
/>
</Target>
ローカルのナレッジベースを
GeneXus Server インスタンスに公開します。
このタスクは
OpenKnowledgeBase タスクに依存します。
構文
<SendKnowledgeBaseToServer
ServerUri="http://ServerName/GeneXusServer"
ServerKBAlias="MyServerKB"
ServerUserName="user"
ServerPassword="password"
ServerToken="token"
WriteElapsedTime="true|false"
FullKB="true|false"
WWLocks="true|false"
/>
オプション
ServerUri: GeneXus Server がインストールされているサーバーの URL です。
必須
ServerKBAlias:
GeneXus Server にあるナレッジベースの
エイリアスです。サーバー内で一意である必要があります。
必須
ServerUserName: ログインに使用するユーザー名です。
ServerPassword: ログインに使用するパスワードです。
ServerToken: リクエストの認証とオーソライズに使用するセッショントークンです。
WriteElapsedTime: タスクの実行にかかった時間を記録します。
FullKB: すべてのナレッジベースを、GeneXus Server または選択したバージョンに送信します (既定値: false)。
WWLocks:
バージョン管理モデルを選択します。既定値は
false で
マージモデルになります。
true に設定すると
ロックモデルになります。このプロパティは
GeneXus X Evolution 2 以降に固有です。
例
C:\temp\MSBuild にある
test.build ファイルで、ターゲットを次のように指定しているとします。
<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"
オブジェクトのリストを
ロックします。
このタスクは
OpenKnowledgeBase タスクに依存します。
構文
<LockObjects
Objects="ObjectList"
/>
オプション
ObjectList: ロックするオブジェクトのリスト。オブジェクトを指定する構文について詳しくは、
こちらを参照してください。
例
C:\temp\MSBuild にある
test.build ファイルで、ターゲットを次のように指定しているとします。
<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""
オブジェクトのリストを
ロック解除します。
このタスクは
OpenKnowledgeBase タスクに依存します。
構文
<UnlockObjects
Objects="ObjectList"
/>
オプション
ObjectList: ロックを解除するオブジェクトのリスト。オブジェクトを指定する構文について詳しくは、
こちらを参照してください。
例
C:\temp\MSBuild にある
test.build ファイルで、ターゲットを次のように指定しているとします。
<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"
選択したオブジェクトのリストについて、
ロックの強制的な取得を行います。
このタスクは
OpenKnowledgeBase タスクに依存します。
構文
<StealLocks
Objects="ObjectList"
/>
オプション
ObjectList: ロックを強制的に取得するオブジェクトのリストです。オブジェクトを指定する構文について詳しくは、
こちらを参照してください。
例
C:\temp\MSBuild にある
test.build ファイルで、ターゲットを次のように指定しているとします。
<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"
GeneXus Server でホストされているナレッジベースに、新しい
開発バージョンまたは
Frozen バージョンを作成します。
このタスクは
OpenKnowledgeBase タスクに依存します。
構文
<CreateGXserverVersion
ServerUri="$(ServerUri)"
ServerKBAlias="$(KBAlias)"
FromServerVersionName="$(FromVersionName)"
VersionName="$(NewVersionName)"
VersionDescription="$(NewVersionDescription)"
ServerUserName="user"
ServerPassword="password"
ServerToken="token"
IsProtectedVersion="true/false"
/>
オプション
ServerUri:
GeneXus Server がインストールされているサーバーの URL です。
必須
ServerKBAlias:
GeneXus Server にあるナレッジベースの
エイリアスです。サーバー内で一意である必要があります。
必須
FromServerVersionName: 新しいバージョンの基になるバージョンです。このバージョンが
開発バージョンの場合は
Frozen バージョンが作成され、
Frozen バージョンの場合は
開発バージョンが作成されます。
VersionName: 作成される新しいバージョンの名前です。
VersionDescription: 新しいバージョンの説明です。
ServerUserName: ログインに使用するユーザー名です。
ServerPassword: ログインに使用するパスワードです。
ServerToken: リクエストの認証とオーソライズに使用するセッショントークンです。
IsProtectedVersion: 新しいバージョンを保護するかどうかを示します。
例
C:\temp\MSBuild にある test.build ファイルで、ターゲットを次のように指定しているとします。
<<Target Name="CreateNewGXserverVersion" DependsOnTargets="OpenKnowledgeBase">
<CreateGXserverVersion
ServerUri="$(ServerUri)"
ServerKBAlias="$(KBAlias)"
FromServerVersionName="$(FromVersionName)"
VersionName="$(NewVersionName)"
VersionDescription="$(NewVersionDescription)"
ServerUserName="local\admin"
ServerPassword="admin123"
IsProtectedVersion="true"
</Target>
GeneXus Server からナレッジベースを作成後、新規バージョンを作成するには、次のコマンドを実行します。
msbuild.exe /t:CreateNewGXserverVersion /p:KBPath=C:\Models\myKnowledgeBase /p:KBAlias=myKnowledgeBase /p:FromVersionName=myKnowledgeBase /p:NewVersionName=Version1 "c:\temp\MSBuild\test.msbuild"
ホストされているナレッジベースのバージョンの最後のコミット番号を取得します。
このタスクは
OpenKnowledgeBase タスクに依存します。
構文
<GetLastCommitNumber
VersionName="$(VersionName)"
ServerUserName="user"
ServerPassword="password"
ServerToken="token"
/>
オプション
VersionName: バージョンの名前です。
ServerUserName: ログインに使用するユーザー名です。
ServerPassword: ログインに使用するパスワードです。
ServerToken: リクエストの認証とオーソライズに使用するセッショントークンです。
例
C:\temp\MSBuild にある test.build ファイルで、ターゲットを次のように指定しているとします。
<Target Name="GetCommitNumber" DependsOnTargets="OpenKnowledgeBase">
<GetLastCommitNumber
VersionName = "$(KBVersion)"
ServerUserName="local\admin"
ServerPassword = "admin123">
<Output TaskParameter="CommitNumber" PropertyName="CommitNumber"/>
</GetLastCommitNumber>
<Message Text="Last commit number is $(CommitNumber)"/>
</Target>
- msbuild.exe ファイルは、Microsoft .NET 4.0 フォルダ (通常は c:\Windows\Microsoft.NET\Framework\v4.0.30319) にあります。
- ターゲットである「OpenKnowledgeBase」に依存するすべてのタスクで、.msbuild ファイルに次のような項目があると仮定します。
<Target Name="OpenKnowledgeBase">
<OpenKnowledgeBase Directory="$(KBPath)" />
</Target>
GeneXus 17 Upgrade 7 以降