最近のアクセス:
チーム開発の MSBuild タスク

ここでは、チーム開発に関連する GeneXus の MSBuild タスクの一覧を示します。
これらの MSBuild タスクを使用するときは、基本のスクリプトファイルに次の行を追加し、GeneXus.Server.Tasks.targets ファイルをインポートする必要があります。
<Import Project="C:\Program Files\Artech\GeneXus\GeneXusX\Genexus.Server.Tasks.targets" />

タスクリスト

CreateKnowledgeBaseFromServer

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" 

UpdateFromServer

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"

Commit

ローカルでの変更 (コミット保留中) を 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>

SendKnowledgeBaseToServer

ローカルのナレッジベースを 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"

LockObjects

オブジェクトのリストをロックします。
このタスクは 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""

UnlockObjects

オブジェクトのリストをロック解除します。
このタスクは 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"

StealLocks

選択したオブジェクトのリストについて、ロックの強制的な取得を行います。
このタスクは 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"

CreateGXserverVersion

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"

GetLastCommitNumber

ホストされているナレッジベースのバージョンの最後のコミット番号を取得します。
このタスクは 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 以降





サブページ
Created: 15/01/09 02:10 by Admin Last update: 23/05/09 23:47 by Admin
カテゴリ
Powered by GXwiki 3.0