最近のアクセス:
GeneXus を使用した一般的なアジャイル開発サイクル

GeneXus および GeneXus Server を使用してアジャイルプロセスで作業する場合、プロジェクトのブランチ/バージョン管理モデルを定義する必要があります。バージョンの考え方は 4 とおりあり、チームの規模、ナレッジベースのサイズ、特定のプロジェクトのニーズに応じて選択します。
アジャイル開発では 2 つのブランチを使用することを強くお勧めします: トランク (Trunk) (開発) バージョンと安定 (Stable) バージョンです。安定バージョンは、リリースに含めることが決まっている (開発済みの) すべての機能を備えた統合ナレッジベースです。トランクバージョンは、開発者が新機能の開発やバグの修正を日常的に行うための「マスター」ブランチです。
安定バージョンでは、通常、各ステージでパイプライン全体が自動化されます。そのため、トランクバージョンから「マージ」(変更を適用) した後、別のステージで新しいバージョンの品質をチェックするためのテストが自動的に開始されるようにします。この方法について説明します。
アジャイルでなくてもこのプロセスのメリットを活用できる点に注目してください。GeneXus および GeneXus Server を使用した開発プロセスで、生産性の向上のためにパイプラインを使用する場合に役立ちます。ブランチ/バージョンの戦略と自動化は、開発のニーズに基づいて調整が必要になる場合があります。
バージョン名をどうするか、数をどうするかは、各組織内での合意の問題にすぎません。重要なのは、ブランチのタイプごとに名前を定義することと、チームがブランチのモデルについて認識していることです。

トランク/開発バージョン

通常、トランクバージョンは、開発者が新機能をコーディングしたり、バグを修正したりするのに使用します (トランクベース開発を使用する場合)。このような変更は、複数の開発者が複数の異なるオブジェクトに対して行うことができます。つまり、1 つのブランチに対して頻繁にコミットが行われることになります (少なくとも 1 日 1 回実施することを推奨)。
このバージョンで作業する場合に最も良い方法は、すべての開発者の変更を頻繁に統合すること、システムがいつでも「ビルド可能な状態」になっていること、ナレッジベースのコードの品質が優れた開発プラクティスに倣っていることです。そのため、チームが変更をコミットする頻度に応じて、開発ブランチと継続的インテグレーションを行うことを強くお勧めします。
こうすることで、プロセスが自動的にチェックされ、新しい変更によってビルドが破損することがなくなり、品質基準を維持することができます。Jenkins のような継続的インテグレーションサーバーを使用している場合、最初にいくつかのトリガーを追加します。これにより新しい変更をリッスンします。この場合、少なくとも次のステップをパイプラインで実行する必要があります:
  1. GXserver から最新の変更を更新する (トランクバージョン)
    ビルドするアーティファクト (ナレッジベース) を最新のコミットに更新します。
  2. すべてビルドする 
    ナレッジベースを指定してコンパイルする「すべてビルド」を実行します。
  3. ユニットテストの実行
イメージ:42827.png
オプション (推奨) で、4 つ目のステップとして静的チェックを行い、ベストプラクティス (KBDoctor ツールなど) に準拠しているかどうかを確認します。

安定バージョン

通常、このバージョンには (新しいリリース用に) 新しく統合されたバージョンに含める主要な変更がホストされます。一般的に、この変更は、1 人以上の開発者によって行われたほかのバージョン (開発ブランチなど) からの一連のコミットです。
ここでは、ナレッジベースを自動的にビルドして品質基準を確認するだけではなく、さまざまなテスト (API テストや UI テスト) も実行するとします。その結果、このバージョンに変更を加えるたびに、パイプラインによって「デプロイ可能」な状態であること、正常に機能することが確認されます。
開発バージョンで定義したのと同じパイプラインジョブのほかに、アプリケーションを QA 環境にデプロイするためのステップをいくつか追加します。その後、UI テストを実行することをお勧めします (ステップ 4、5)。
イメージ:39191.png
すべてのテストが正常に終了したら、デプロイ可能なリリースの準備が完了します。すべてのテストを自動化していない場合、またはテストの自動化をまったく行っていない場合は、このバージョンを手動でテストすることができます。


 

サブページ
Created: 19/08/09 02:01 by Admin Last update: 21/05/20 01:25 by Admin
カテゴリ
Powered by GXwiki 3.0