最近のアクセス:
チーム開発の MSBuild タスク (GeneXus X Evolution 2)
チーム開発に関連した 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"
/>

入力値の説明:
  • Language: CreateKnowledgeBase タスクの [ Language ] プロパティをチェックします。
  • Overwrite: CreateKnowledgeBase タスクの [ Overwrite ] プロパティをチェックします。
  • ServerUri: GeneXus Server のインスタンスが実行されている場所の URL。必須
  • 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 でのログインに使用するパスワード。
  • UpdateKbPropertiesUpdateVersionPropertiesUpdateEnvironmentProperties: ナレッジベース、バージョンまたは環境のプロパティを強制的に更新するかどうかを指定するブール値の項目属性 (既定値: 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>
  • 継続的な統合:http://blog.genexus.com/gproto/?p=43を確認してください。
  • GeneXus Server が安全である場合、ServerPassword および ServerUserName タスクプロパティを使用していることを確認してください。

サブページ
Created: 14/09/18 03:04 by Admin Last update: 15/01/09 01:57 by Admin
カテゴリ
Powered by GXwiki 3.0