HCL VersionVault Express でのベースラインの作成と推奨

2021/11/15 - 読み終える時間: 2 分

Making and recommending baselines in HCL VersionVault Express の翻訳版です。

HCL VersionVault Express でのベースラインの作成と推奨

2021年11月12日

著者: Margaret Marynowski / HCL Software

画像の説明

この記事では、HCL VersionVault Expressを使用して、Unified Change Managementのベースラインを作成し、推奨する方法を説明します。これらの操作を行うには、VersionVault ExpressのBuilderロールが必要です。(VersionVault Express のロールの詳細については、HCL VersionVault Express におけるプロジェクト・チーム・メンバーの役割 を参照してください)。


UCM ベースラインの基本

ベースラインは、プロジェクト内の各ディレクトリやファイルのバージョンを指定し、任意の時点でのプロジェク トのスナップショットを表します。通常、ビルダーは、ビルドやテストが成功した後など、コードベースが良好な状態にあることがわかっているときにベースラインを作成する責任があります。ベースラインには、プロジェクト内のすべてのディレクトリとファイルを明示的にマークするフルベースラインと、前回のベースライン作成後に変更されたディレクトリやファイルのバージョンのみをマークするインクリメンタルベースラインの2種類が用意されています。インクリメンタル ベースラインを作成する方が速い場合もありますが、開発者はフル ベースラインからアクティビティのチェンジセットを確認する方がパフォーマンスが高い場合もあります。


ベースラインの作成

ストリームにベースラインを作成するには、ビルダーとしてそのストリームのページに行き、「新規ベースライン」ボタンをクリックします。新しいベースラインの名前を入力する必要があり、オプションで説明を入力することもできます。その後、「Incremental」または「Full」を選択し、「Create」をクリックします。

画像の説明


ベースラインの推奨

ベースラインを作成したら、それを推奨することができます。ストリームの推奨ベースラインは、既存の子ストリームのリベース処理のデフォルト選択となり、新しい子ストリームの基礎ベースラインにもなります。基本ベースラインは、ストリームのプロジェクトの現在の既知の状態を表します。新しい子ストリームは、その親ストリームの推奨ベースラインを基礎とします。ストリームをリベースすると、そのベースラインはリベースの際に使用されたベースラインに設定されます。(詳細は、「VVコンセプトの紹介ブログ」を参照してください。)

ベースラインを推奨するには、ビルダーとしてストリームのページにアクセスし、推奨したいベースライン名の左にある下向き矢印(↓*)をクリックします。


まとめ

VersionVault Expressのmake baselineおよびrecommend baseline操作により、開発者はプロジェクトの共通のスナップショットを作業の出発点として使用することができます。詳しくは、ブログサイトをご覧ください。


HCL VersionVault Express: アクティビティの概要

2021/11/15 - 読み終える時間: ~1 分

An overview of activities の翻訳版です。


アクティビティの概要

2021年11月12日

著者: Edward dunlop / Edward is a software engineer at HCL Software who played a key role in developing the HCL Compass and HCL VersionVault Express UI’s.

l画像の説明

HCL VersionVault Express の最新リリースでは、UCM(Unified Change Management)プロジェクトの開始がこれまで以上に簡単になりました。UCMプロジェクトの開発ライフサイクルにおいて、開発者はストーリーの実装や不具合の修正などのタスクを完了させる必要があります。アクティビティは、タスクが完了するまでの進捗状況を追跡します。タスクのためのアクティビティを作成し、そのアクティビティをストリームに設定するだけで、ストリームに加えられた変更はすべてそのアクティビティによって追跡されます。

バージョンコントロール下のファイルに変更を加える前に、アクティビティを設定する必要があります。アクティビティは、各ストリームのページの右上にある「新規アクティビティ」ボタンで作成できます。アクティビティが作成されると、ボタンの横にあるドロップダウンを使って設定できます。折りたたまれたドロップダウンには、現在のアクティビティのタイトルが常に表示されるので、開発者はどのアクティビティを変更しているのかを常に把握できます。

画像の説明

アクティビティを設定した後、開発者はストリーム内のファイルやフォルダの変更を開始できます。開発者が別のタスクに焦点を移したい場合は、何をしていても簡単に新しいアクティビティを作成または設定できます。バージョンコントロールにチェックインされたすべての変更は、設定されたアクティビティによって追跡され、そのアクティビティのチェンジセットに表示されます。

ストリームのページでアクティビティタブに切り替えると、開発者は各アクティビティの下で行われたすべての変更を確認できます。アクティビティの[Review]ボタンをクリックすると、そのアクティビティが設定されている間に変更されたすべてのファイルやフォルダが表示されます。リスト内の項目を展開すると、その項目の現在の状態と、アクティビティが作成されたときの状態(チェンジセットプリデレクタとも呼ばれる)が比較されます。開発者がコードを配信する際には、各アクティビティで変更された内容を正確に確認し、どのアクティビティを配信するかを選択できます。

画像の説明

開発者がある要素の特定のバージョンを確認したい場合は、アクティビティ リストのアクティビティをクリックします。アクティビティが展開され、開発者はそのアクティビティのチェンジセットを見られます。チェンジセットの各エントリは、選択したアクティビティで変更されたファイルやフォルダの異なるバージョンを表します。開発者は、チェンジセット内のファイルをクリックすると、そのバージョンのファイルを見られます。また、ファイルの任意のバージョンを、その直前のバージョンやチェンジセットの前のバージョンと比較できます。これは、開発者がレビューしたいアイテムの[Compare With]ドロップダウンを使用して行えます。

アクティビティ] タブでは、設定されたアクティビティが常に他のアクティビティの上に表示されます。アクティビティの設定や削除も、ここから行うことができます。

詳細はこちらのドキュメントをご覧ください。


HCL RTistによる汎用型記述子の記述

2021/11/10 - 読み終える時間: 3 分

Writing a generic type descriptor with HCL RTist の翻訳版です。


HCL RTistによる汎用型記述子の記述

2021年11月9日

著者: Mattias Mohlin / Senior Solutions Architect for HCL Software

画像の説明

型記述子は、クラス、typedef、型の別名など、モデル内のユーザー定義の型に関するメタデータを提供します。TargetRTSは、型記述子の情報を使って、その型のオブジェクトをどのように初期化、コピー、エンコードするかなどを知ります。多くの場合、モデルコンパイラは型に対して自動的に型記述子を生成しますが、場合によっては手動で型記述子を書く必要があります。型記述子に慣れていない方は、この記事を読んでから先に進むことをお勧めします。

ここでは、型がジェネリックである場合、つまり、1つまたは複数のテンプレートパラメータを持つ場合について見てみましょう。以前は,テンプレート型の具体的なインスタンスごとにtypedefやtype aliasを作成し,そのテンプレートのインスタンスに合わせて型記述子を記述する必要がありました.これは明らかに面倒で、しばしばコードの重複を招きました。RTist 11.1 2021.24からは、型と同じテンプレートパラメータを使用するジェネリックな型記述子を書くことができるようになりました。これにより、多くの時間を節約し、コードの重複を避けることができます。

例として,異なる種類の要素を持つベクトルを2つのカプセル間で送信する場合を考えてみましょう.まず最初に,std::vectorの型のエイリアスを定義し,vector型の型テンプレートパラメータを追加します.この場合、テンプレートパラメータを持つ型が必要なので、typedefは使えません。

画像の説明

次に、tを書きます。 target = new (target) std::vector<T>();

Copy 関数 target = new(target) std::vector<T>(*source);

Destroy 関数 target->~StdVector<T>();

今回の例では、これら3つの型記述子関数があれば十分ですが、汎用的なエンコードの実装方法を示すために、Encode関数も実装してみましょう。

const RTObject_class *elementTypeDescriptor = RTObject_class::fromType<T>();
if (!elementTypeDescriptor)
return 0; // Element type descriptor not available
int sum = 0;
bool first = true;
sum += coding->write_string(type->name());
sum += coding->write_string("{");
for (auto i = source->begin(); i != source->end(); i++) {
if (!first)
sum += coding->write_string(",");
first = false;
sum += elementTypeDescriptor->encode(&*i, coding);
}
sum += coding->write_string("}");
return sum;

この実装では、TargetRTSの新しいテンプレート関数であるRTObject_class::fromType()を使用して、ベクター要素の型の型記述子を取得します。その型記述子は、各ベクトル要素のエンコードに使用されます。

TargetRTSでは、すべての組み込みC++型に対してRTObject_class::fromType()のテンプレート特殊化を提供していますが、StdVectorを他の型でも使用したい場合には、同様の特殊化を記述する必要があります。例については、TargetRTS ファイルの RTObject_class.h を参照してください。

Decode関数は、解析を必要とするため、通常、型記述子関数の中で最も実装が難しい関数です。この関数を実装することは、このニュースレターの範囲外です。しかし、モデルコンパイラが型記述子を生成しないため、完全に空けることはできません。

デコード関数

// NOT IMPLEMENTED

return 1;

最後に、StdVector用のコードスニペットを2つ用意しておきます。

Header Preface #include <vector>

これにより、StdVector型を使用する際に、基礎となるstd::vector型が利用できるようになります。

Header Ending

template <> const char* RTName_StdVector<int>::name = "StdVector<int>";
template <> const char* RTName_StdVector<char>::name = "StdVector<char>";

これらのテンプレートの特殊化は厳密には必要ではありませんが、デバッグの際に役立ちます。デフォルトでは、型記述子の名前はモデル型の名前(この例ではStdVector)に設定され、その名前は型記述子のすべてのインスタンスで同じになります。使用するテンプレートのインスタンスに対して特殊化を行うことで,より具体的な名前を得ることができます.

なお,すべてのコンパイラが,このような特殊化をヘッダファイルに記述できるわけではありません。

それでは、StdVector型記述子をテストしてみましょう。2つのカプセルを持つサンプルモデルを作成し、1つ目のカプセルから2つ目のカプセルにintのベクターを送信し、2つ目のカプセルから1つ目のカプセルにcharsのベクターを送信します。自分でモデルを作りたくない場合は、添付のモデルを使うことができます。そのモデルを構築して実行すると、このような出力が出力されます。

Reached Cap2 State 1
Reached Cap1 State1 and sending Integer
Success: Received sendInteger event with data at Cap2.
Received: StdVector<int>{1,2,3}
Reached Cap2 State2 and sending Chars
Success: Received sendChar event with data at Cap1.
Received: StdVector<char>{'a','b','c'}
Reached Cap1 State2 and received Chars

HCL VersionVault Express におけるプロジェクト・チーム・メンバーの役割

2021/11/3 - 読み終える時間: 2 分

Project Team Member Roles in VersionVault Express の翻訳版です。


HCL VersionVault Express におけるプロジェクト・チーム・メンバーの役割

2021年10月25日

著者: Michael Hudson / Director for the HCL Software DevOps Products

画像の説明

この記事では、VersionVault Express で管理されているプロジェクトにおいて、チーム・メンバーが担うことのできる様々な役割について説明します。VersionVault Express のインスタンスはいくつかのプロジェクトを管理することがあり、お客様は複数のプロジェクト・チームに所属することがあります。それらの異なるチームにおいて、あなたが果たす役割は様々です。

VersionVault Express インスタンス上の任意のプロジェクトに参加した人は、"My projects "エリアにアクセスすることができます。これは通常、ログインした際に最初に表示される画面で、ナビゲーション・バーのホーム・アイコンをクリックすることでいつでも移動することができます。

あなたが参加したプロジェクトは、「マイプロジェクト」のページにタイルとして表示されますが、プロジェクトの作成を促すボタンも表示されます。新しいプロジェクトを作成すると、そのプロジェクトの「プロジェクトオーナー」の役割が自動的に与えられます。


プロジェクトオーナー

プロジェクトオーナー」は、プロジェクト自体の管理と、プロジェクトチームのメンバーの管理を行います。プロジェクトの管理は簡単です。プロジェクトを作成し、稼働させた後に残る作業は、プロジェクトの削除とアーカイブ化だけです。

ユーザーは、プロジェクトに参加するよう招待することも、単にプロジェクトに追加することもできます。ユーザーがすでに存在する場合は、プロジェクトオーナーが名前の一部を入力して、正しいユーザーを選択するだけで追加できます。ユーザーがまだ存在しておらず、VersionVault Express インスタンスがSMTPメール・サーバーを使用するように設定されている場合は、プロジェクト・オーナーがユーザーの電子メールアドレスを入力して、プロジェクトへの招待状を送信することができます。SMTPが設定されていない場合は、プロジェクト・オーナーはVersionVault Express のシステム管理者に連絡してユーザーを作成する必要があります。

いずれの場合も、プロジェクト・オーナーは新しいプロジェクト・チーム・メンバーの役割を選択する必要があります。プロジェクトオーナーは、1つまたは複数のロールを選択し、新しいユーザーに割り当てることができます。プロジェクトオーナーは、いつでもチームメンバーのロールを更新することができるので、チームメンバーが型にはまる心配はありません。

プロジェクトオーナーは、他のチームメンバーにプロジェクトオーナーのロールを割り当てるだけで、その人を共同オーナーにすることができます。プロジェクトオーナーの中には、コーディングやビルドが好きな人とそうでない人がいます。もしあなたがプロジェクトオーナーで、他のチームメンバーができることもやりたい場合は、プロジェクトオーナーの役割に加えて、あなた自身に別の役割を割り当てるだけです。


開発者

ほとんどのプロジェクトチームメンバーは「開発者」の役割を持っています。開発者は、コードを書いて納品する責任があります。

開発者はストリームで仕事をします。1つのプロジェクトには多くのストリームが存在し、おそらくそうなるでしょう。開発者」ロールを持つチームメンバーは、「View all streams」画面に移動することで、これらのストリームを見ることができます。開発者はどのストリームでも作業でき、他のストリームの子ストリームを作成することもできます。最も重要な2つのストリームは、自分が作業しているストリーム(「開発」ストリーム)と、自分が配信するストリーム(「統合」または「機能」ストリーム)です。

開発者がストリームを開くと、最初に目にするのは自分のコードです。プロジェクトのルートにREADMEがある場合は、要素(ファイルやディレクトリ)のリストの下に表示されます。別のディレクトリに変更しても、同じルールが適用されます。開発者は、コードの追加、コードの表示、コードのダウンロード、コードの編集、変更のチェックインやローカルへの保存ができます。ストリームに "Request build" webhook が含まれている場合、開発者は必要に応じてビルドをトリガーすることができます。

VersionVault Express インスタンスのすべてのユーザーは、クライアントをダウンロードしてインストールすることができます(すべての画面の右上にリンクがあります)が、開発者のみがストリーム内でクリックするだけでクライアントを開くことができます。

開発者が何らかの作業をするときは、必ずアクティビティのコンテキストの中で行わなければなりません。アクティビティとは、ストーリー、タスク、バグ、その他の作業単位を表します。開発者は自由にアクティビティを作成し、作業中のストリームに設定したり解除したりすることができます。また、アクティビティを一覧表示したり、変更セットを見て、どの要素(ファイルやディレクトリ)が変更されたか、どのような変更が行われたかを追跡することもできます。準備ができたら、開発者は特定のアクティビティのコードを親(統合または機能)のストリームに配信することができます。

開発者にはベースラインを作成したり推奨したりする権限はありませんが、どのストリームでもベースラインを見ることができます。これは、あるストリームを特定のベースラインにリベースする(つまり、そのベースラインに含まれるコードの特定のバージョンを取得する)ことを選択する際に不可欠です。


ビルダー

ビルダーは、CI/CDパイプラインの構築と実行を担当します。これには、コードをビルドし、テストし、公開するという最終的な目標に向けて、ソース・コントロール・システムを含むすべてのシステムを接続することが含まれます。

VersionVault Express では、このために特定の "ビルダー "ロールを定義しています。つまり、これがチーム内の特定のロールなのか、あるいは開発者の一人(あるいはプロジェクト・オーナー)のための追加のロールなのかを決めることができます。

統合は、外部システムが VersionVault Express の機能を呼び出せるようにするためのREST APIや、VersionVault Expressが他のシステムの機能を呼び出せるようにするためのWebhookによって実現されます。VersionVault Express のREST APIのほとんどは、ユーザー・インターフェイスと同じ認証情報と同じ権限で保護されています。(つまり、'Project Owner'のみがプロジェクトを削除でき、'Developer'のみがファイルをチェックインできる、といった具合です)。)

アウトバウンドWebhook には、実際にはパーミッションはありません。情報を必要とするエンドポイントに情報を送信するだけです。Webhookの設定と管理はビルダーの責任です。Webhookには、プロジェクトに属するものと、プロジェクトのストリームに属するものがあります。プロジェクトのビルダー・ロールを持つチーム・メンバーは、そのプロジェクトまたはそのプロジェクト内の任意のストリームにウェブフックを作成し、管理することができます。ビルダーは、新しいWebhookの作成、既存のWebhookの設定、Webhookの配信履歴の確認、失敗したWebhookの再試行を行うことができます。

ビルダーは、VersionVault Expressにおいて、ベースラインの作成と管理というもう1つの責任を持ちます。Builderロールを持つチームメンバーは、任意のストリームにベースラインを作成し、任意のベースラインを推奨することができます。ベースラインを作成したり推奨したりする行為は、CI/CDパイプラインの下流のシステムを作動させるwebhookのトリガーとなるかもしれません。


システム管理者

VersionVault Expressにはもう一つの役割があります。プロジェクト・チームのメンバーにロールを割り当てようとしても、目にすることはありません。それは、このロールであるシステム管理者は、開発プロジェクトで働くことを想定していないからです。

システム管理者は、VersionVault Express のインスタンス自体を管理する責任があります。システム管理者は、基盤となる仮想マシン・インスタンスの設定と起動、およびVersionVault Express インスタンス自体の設定(ホスト名、ポート、SSL証明書、SSHキー、ライセンス・サーバ、タイム・ゾーン、SMTP、LDAPおよびNTPサーバの設定)を行います。

システム管理者は、仮想マシンのポート8443で動作する独自のユーザー・インターフェースとREST APIにアクセスできます。このインターフェイスのIDとパスワードは、メインのVersionVault Express APIやユーザー・インターフェイスでは使用できませんので、システム管理者が開発者(または構築者、プロジェクト・オーナー)でもある場合は、2つ目の認証情報が必要になります。

システム管理者は、基礎となる仮想マシンにSSH接続し、必要に応じて "sudo "権限を使用して、オペレーティング・システムとVersionVault Express インスタンスに対する管理タスクを実行することができます。

システム管理者は、外部のLDAPディレクトリを使用するようにVersionVault Express インスタンスを構成することができます。その場合、そのディレクトリで設定されたグループに属するすべてのユーザーは、自動的にVersionVault Express のユーザーとなりますが、プロジェクトを作成したり、プロジェクトに招待されたり、特定のプロジェクトで特定の役割を与えられたりする必要があります。

また、システム管理者は、VersionVault Express のインスタンスを独自に管理するように設定することもできます。この場合、システム管理者はユーザーを管理する責任を負います。システム管理者は、1人のユーザーを作成し、そのユーザーにプロジェクトを作成してより多くのユーザーを招待するように指示することができます。ユーザーが何らかの役割でプロジェクトに参加すると、自分のプロジェクトのオーナーになり、さらにユーザーを招待することができるようになります。一方、システム管理者は、VersionVault Express のSMTP機能を無効にして、ユーザーの追加や削除に全責任を負うことができます。おそらく、システム管理者はその両方を少しずつ行い、ユーザー管理の責任をプロジェクト・オーナーと分けていることでしょう。


まとめ

VersionVault Express のユーザーは、異なるプロジェクトで異なる役割を持つことができ、その役割を混在させることができることを学びました。ソース・コントロール・システムが持つべき他の役割は何でしょうか?コメントで教えてください。


VersionVault Expressにおけるユーザー管理とLDAP設定

2021/11/2 - 読み終える時間: 2 分

User management and LDAP configuration in VersionVault Express の翻訳版です。


VersionVault Expressにおけるユーザー管理とLDAP設定

2021年11月2日

著者: Brett Markowitz / Software Developer

画像の説明

VersionVault Express 2.0に搭載された新しいWeb UIとREST APIにより、新しいプロジェクトの作成や、IDEを開くことなくソース・コード・ファイルのタイプミスを素早く修正するなど、多くの一般的なタスクをこれまで以上に簡単に実行することができます。

VersionVault Expressに搭載されている2つのWeb UIのうちの1つは、システム管理者がSSHキーからSMTPサーバ、SSL証明書まであらゆる設定を行うことができるアプライアンス設定UIです。

さらに重要なのは、VersionVault内でユーザーを管理することができることです。ユーザー自身が管理する場合も、既存のLDAPサーバーを利用する場合も同様です。

アプライアンスのセットアップUI(デフォルトではhttps://hostname:38443/setup)にログインすると、ユーザー管理機能が前面に表示されます。

画像の説明

VersionVault Expressアプライアンスは、デフォルトでは自己管理アカウントに設定されていますが、最上部のドロップダウン・メニューで簡単に「Enterprise LDAP accounts」に変更することができます。

LDAPに変更すると、既存のプロジェクトにアクセスできなくなったり、誤ったユーザーがアクセスできるようになったりする可能性があるため、可能であればプロジェクトを作成する前か、既存のプロジェクトを十分にバックアップした後に変更することをお勧めします、という警告がUIに表示されます。

続いて、ホスト名、ポート、検索ベースなど、接続するLDAPサーバーの情報を入力するフィールドがUIに表示されます。

オプションとして、グループに対してVersionVault Expressの使用を制限することができます。また、ユーザーのフルネーム、電子メールアドレス、アバター画像に対してカスタム・フィールド・マッピングを設定することで、これらの情報を既に設定されている別の名前のフィールドから引き出すことができます。

必要な設定がすべて完了したら、上部にある "Validate "ボタンで、保存や適用の前にVersionVault ExpressがLDAPサーバーと正しく通信できることを確認できます。

自己管理アカウント・オプションを使用する場合は、より詳細なユーザー管理が可能になります。

画像の説明

例えば、"Email "ボックスにユーザーの電子メールを入力し、右上の "Add user "をクリックすることで、VersionVault Expressに直接ユーザーを追加することができます。

SMTPサーバーが設定されている場合は、ユーザーにメールが送信され、ユーザーはそれを使って登録作業を完了することができます。

その下には、VersionVault Expressに存在するユーザーのリストが表示されます。このリストには、完全に登録されたユーザーと、招待されたものの登録プロセスが完了していないユーザーが含まれています。 その場合、そのユーザーの招待状態は「保留」となり、招待メールを再送するための丸い矢印のアイコンが表示されます。

右側には、ユーザーに対して実行可能なアクションもあります。任意のユーザに対しては、ゴミ箱のアイコンにより、そのユーザをVersionVault Expressから削除することができます。また、"Join "と表示されているユーザーに対しては、矢印付きの鍵のアイコンにより、強制的にパスワードをリセットさせることができます。ユーザーには、新しいパスワードを設定するためのリンクが記載されたメールが送信されます。

また、ユーザーリストの任意の行にカーソルを合わせると鉛筆のアイコンが表示され、クリックするとそのユーザーのメールアドレスを変更できます。

Temporarily disable SMTP "トグルは、その名の通りSMTPの機能を無効にし、VersionVault Expressが登録メールやパスワード・メールを送信しようとしないようにするもので、SMTPサーバがダウンしていたり、正常に動作していない場合に有効です。

ただし、SMTP機能が無効になっている場合は、招待状のステータスが「Pending」になっている横のボタンを押すと、コンピュータのメール・クライアントが開き、必要な内容が入力されたメールが手動で送信されます。

アプライアンスのセットアップUIには他にも多くの機能がありますので、ご興味のある方は製品ドキュメントをご覧ください。


HCL VersionVault Express を始めてみる: ダウンロード、インポート、設定、起動

2021/11/2 - 読み終える時間: 3 分

Getting Started: Download, Import, Configure and Launch VersionVault Express. の翻訳版です。


HCL VersionVault Express を始めてみる: ダウンロード、インポート、設定、起動

2021年10月18日

著者: Georgiy Petrov / Lead Software engineer II

画像の説明

VersionVault Express Canは、3つの簡単なステップで使い始めることができます。

  • VersionVault Expressアプライアンスを含むイメージをダウンロードします。
  • VersionVault Expressアプライアンスをハイパーバイザーにインポートします。
  • VersionVault Expressアプライアンスの構成をします。

VersionVault Expressのovaファイルをダウンロードしたら、それをハイパーバイザーにインポートします。 メモリとCPUの設定を行い、必ず新しいハードディスクを追加してください。アプライアンスには、OSとすべてのソフトウェアがプレインストールされたハードディスクが1つ付属していますが、データ保存用にもう1つのディスクを取り付ける必要があります。ストレージ用のハードディスクが接続されていないと、アプライアンスは起動しません。ポートフォワーディングを使用する場合は、メイン・ユーザー・インターフェースとREST API用の443、セットアップ・ユーザー・インターフェースとREST API用の8443、外部のVersionVaultクライアントを使用する場合は8080、そしてアプライアンスにSSH接続する場合は22の4つのポートを開く必要があります。

これで、アプライアンスを起動する準備が整いました。

アプライアンスの初回起動時には、ストレージ・ディスクの接続を忘れていないかどうかがチェックされ、その後、ネットワーク・インターフェースの設定を求められます。ハイパーバイザでネットワークを構成した場合は、このステップをスキップしてデフォルトのネットワーク構成を使用できます。ヘッドレスモードでは、アプライアンスはユーザがネットワークを構成するのを5分間待ってから、デフォルトのネットワーク構成を実行することに注意してください。

次のステップでは、VersionVault Expressを設定します。ブラウザを開き、https:// :8443 にある VersionVault Appliance Setup ユーザー・インターフェースに移動します。また、REST API を使用して VersionVault Express インスタンスを設定することもできます。swagger のドキュメントは https://:8443/setup/swagger-ui.html にあります。

画像の説明

swaggerのドキュメントは :8443/setup/swagger-ui.html にあります。このアカウントは、初期設定や、ユーザー管理を含む継続的なシステムメンテナンスに使用されます。このアカウントは、アプライアンスに SSH で接続し、sudo 権限でバックアップおよび復元手順を含むシステムメンテナンスを実行できます。これについては、このシリーズの別のブログ記事で詳しく説明しています。

画像の説明

このアプライアンスのインスタンスにホスト名を付ける必要があります。デフォルトのポート(443)を受け入れることも、別のポートを選択することもできます。その場合は、設定しているポートフォワーディングやファイアウォールを更新してください。

メイン・ユーザー・インターフェースとREST API、セットアップ・ユーザー・インターフェースとREST API、およびVersionVaultクライアントが接続するサーバーという、アプライアンス上の3つのHTTPSサーバーすべてで使用されるSSL証明書をアップロードすることができます。証明書が適用される前に、サーバーを再起動する必要がありますのでご注意ください。

VersionVault Expressアプライアンスには、トライアル・ライセンスがプレインストールされています。独自のライセンス・サーバーとサーバーIDをお持ちの場合は、今すぐ入力してください。

VersionVault Expressは、独自にユーザーを管理するか、企業のLDAPサーバーを使用するかを設定することができます。独自にユーザーを管理する場合は、SMTPサーバーを使用してプロジェクトへの招待状やパスワードリセットのメールを送信するようにアプライアンスを設定することができます。

ヒント:「Validate」を選択して、設定を保存する前に構成をテストします。

管理ユーザーがアプライアンスに SSH で接続できるようにする場合は、オプションで SSH キーを設定できます。

また、NTP サーバーとタイムゾーンを設定することもできます。

設定を保存します。

次のステップでは、企業のLDAPサーバーに接続するか、単に新しいユーザーを作成するかして、いくつかのユーザーを設定します。このトピックについては、別のブログ記事で紹介しています。

準備ができたら、「User Configuration」セクションの「Save」ボタンをクリックします。右側にあるボタンです。すべての準備が整っていれば、成功のメッセージが表示されます。

画像の説明

Launch VersionVaultをクリックして、VersionVault Expressを起動します。

画像の説明

再度、成功メッセージを確認してください。

画像の説明

これで、VersionVault Expressを使用することができます。

詳細については、製品のドキュメントを参照してください。


HCL VersionVault Express のコンセプトの紹介

2021/10/19 - 読み終える時間: 3 分

Introduction to VersionVault Express concepts の翻訳版です。


HCL VersionVault Express のコンセプトの紹介

2021年10月18日

著者: Michael Hudson / Director for the HCL Software DevOps Products

画像の説明

この記事では、VersionVault ExpressがVersionVault Unified Change Management(UCM)の機能を使用して、バージョン管理された資産を管理する方法について説明します。

VersionVault ExpressはUCMを使用して、仮想アプライアンスにパッケージされたバージョン管理システムを実装します。各VersionVault Expressインスタンスは、VersionVault Expressプロジェクトのセットをホストし、各プロジェクトは独自のソースリポジトリであるVOB(Versioned Object Base)を持ちます。 VOBは、プロジェクトに関するメタデータと、プロジェクト内で管理されるファイル/ディレクトリ/シンボリックリンクのバージョン管理されたコンテンツを格納します。プロジェクトのメンバーシップは、プロジェクトのオーナーが管理するVOBのアクセスコントロールリストに記録されます。 (VersionVault Expressでサポートされているロールの紹介については、この記事の最後にある参照リンクを参照してください)。


VOB、プロジェクト、そしてコンポーネント

各VersionVault Expressプロジェクトは、ストリームとそのコンテンツを整理するために使用される1つのUCMプロジェクトと、バージョン管理されたファイルとディレクトリの要素を保存するために使用される1つのUCMコンポーネントを含む1つのVOB上に構築されます。 これらは、VersionVault Expressのプロジェクト作成時に自動的に作成されます。 ほとんどの場合、これらのUCMオブジェクトを明示的に管理する必要はありません。

UCM プロジェクトには複数の UCM ストリームが含まれており、プロジェクトのメンバーがバージョン管理されたオブジェクトを管理します。 開発者は、自分の作業を他の開発者の作業とマージする準備ができるまで、自分のストリームで作業を分離することができます。

各プロジェクトは独立しており、自己完結しています。 複数のプロジェクト間の調整が必要な場合は、VersionVault Expressの範囲外で自分自身で行います。


ストリーム

UCM ストリームは、バージョン管理されたデータのブランチを管理します。 プロジェクトのトップレベルのストリームは、統合ストリームです。 このストリームは、主に Builder ロールのアカウントによって管理されます。 開発者は通常、このストリームに変更を直接チェックインすることはありません。開発者は通常、開発者ストリームを変更と検証を行う場所として使用します。

各開発者は、プロジェクトに参加すると開発者ストリームを取得します。 開発者ストリームは、統合ストリームの子です。 開発者は、変更を統合ストリームに配信して、他の開発者がその変更を利用できるようにしたり、自分のストリームをリベースして、他の開発者が配信した最新の変更を自分のストリームに反映させたりすることができます。


ベースライン

コードベースは、開発者が各ストリームにコードをチェックインすることで、時間とともに進化します。 通常、プロジェクトのビルダー・ユーザーは、配信完了などの特定の操作の後に、統合ストリームにベースラインを作成します。 ベースラインは、ストリームの状態のスナップショットを表し、VOB内の制御された各要素の1つのバージョンを参照しています。 時間をかけて、ストリームの歴史を記録する一連のベースラインを作成します。

各ストリームには、「推奨ベースライン」と「基礎ベースライン」という2つの異なるベースラインがあります。ビルダーは、ストリームの中で作成されたベースラインを推奨ベースラインとして指定することができます。 推奨ベースラインは、子ストリームのリベース処理のデフォルトの選択肢として提供され、新しい開発者用ストリームや機能ストリームなどの新しい子ストリームの基礎ベースラインとしても提供されます。 統合ストリームの基礎ベースラインは、あまり興味深いものではありません(作成直後のプロジェクトの初期状態を表しているだけです)。 しかし、開発者ストリームには、時間の経過とともに変化する可能性のある基礎ベースラインがあります。 ストリームが作成されると、最初は基礎ベースラインがその親ストリームの推奨ベースラインに設定されます。開発者は、作業開始時の親ストリームの状態に基づいて、自分のストリームで単独で作業を行うことができます。 しかし最終的には、リベース操作を使って、親ストリームの最新の良いコードと統合する必要があります。 ビルダーが新しい推奨ベースラインを作成して指定した後、開発者は簡単に自分の開発者ストリームをリベースして、その変更を取り入れることができます。 (開発者は、テストされていないコードを扱うリスクを許容できるのであれば、後から推奨されないベースラインを選択することもできます)。) リベースが完了すると、リベースされたストリームの基礎ベースラインが、リベース時に使用されたベースラインに設定されます。


階層的なストリーム

VersionVault Expressのストリームは、階層的に配置されています。プロジェクト統合ストリームが、すべての "標準 "開発者ストリームの親であることはすでに説明しました。 しかし、メインの統合ストリームを妨げることなく、さらに分離して開発者が共同作業を行う方法が必要な場合は、"機能ストリーム"(またはそのようなストリームの階層ツリー)を作成することができます。 1つのレベルの機能ストリームでは、次のような階層構造になっています。

  • プロジェクト統合ストリーム
    • 機能ストリーム
      • 開発者#1の機能ストリーム
      • 開発者#2の機能ストリーム
    • 機能を持たない開発者#3のストリーム

ビルダーは機能ストリームでベースラインを管理し、機能に携わる開発者は機能ストリームからリベースして機能ストリームに配信する。

ビルダーは機能ストリームでベースラインを管理し、その機能に携わる開発者は機能ストリームからリベースして配信します。 ある時点で、その機能が良い状態になったら、ビルダーやリードデベロッパーは、機能ストリームからプロジェクト統合ストリームに配信します。 その機能を担当していない開発者は、機能ストリームと並行して自分の開発者ストリームで作業することができます。

VersionVault Expressの厳密な親子配信/リベース・モデルよりも複雑なマージ・パターンが必要な場合は、VersionVault Explorerを使用して個々のアクティビティやストリーム間のマージを管理することができますし、さらに柔軟性を高めるためにVersionVaultフル版にアップグレードすることもできます。


デリバリーとリベース

配信とリベースは、ストリームの階層に沿って行われます。リベースは、親ストリームの新しいベースラインから変更をピックアップし、配信は、自分のストリームの変更を親ストリームにマージします。


アクティビティ

ストリーム内では、ファイルやディレクトリのバージョンをチェックアウトしたり、チェックインしたりすることができます。 これらのストリームは通常、継続的な開発に使用されるため、ストリーム内の各変更は、関連する一連の変更を追跡するためにUCMアクティビティにリンクする必要があります。VersionVault Expressは、完全なVersionVaultと同様に、UCMアクティビティを使用して、関連するバージョンの変更セットをリンクします。 開発者は、各論理的な変更を管理するアクティビティを作成し、そのアクティビティを現在のアクティビティとして設定している間に、チェックアウト/チェックイン/ファイルの追加を行います。 コードを親ストリームにマージする準備ができたら、アクティビティの一部だけを配信することも、マージされていない変更を含むすべてのアクティビティを配信することもできます。


まとめ

VersionVault Expressでは、UCMプロジェクト、コンポーネント、ストリーム、ベースライン、アクティビティを使用して、要素への変更を管理することを学びました。 ストリームは階層的に配置されており、開発者は、他の人が変更を取得できるように変更を配信したり、同僚から変更を取得するためにリベースする際にこれに従います。 ベースラインは、プロジェクトの開発サイクルにおけるストリームのバージョンの変遷を示すものです。 アクティビティは、複数の要素のバージョンを収集して、関連する変更セットを一貫して作成します。

さらに詳しく

VersionVault Expressには、VersionVaultのパワーの上に構築された、より多くの機能があります。 ここでは、より詳しく知るための追加リソースをご紹介します。


Cover Image

継続的テストにまつわる神話トップ 10

2021/10/5 - 読み終える時間: 2 分

The Top 10 Continuous Testing Myths の翻訳版です。


継続的テストにまつわる神話トップ 10

2021年9月30日

著者: Cassandra Stanek / Product Marketing Manager | HCL Accelerate & Launch

画像の説明

企業のエコシステムは、日に日に複雑化しています。ソフトウェアをより早く提供する方法を模索する中で、継続的テストは重要な要素です。ここでは、私たちがよく目にする継続的テストに関する神話のトップ10をご紹介します。


1. 継続的テスト=テストスクリプトの実行

アプリケーションが合意された要件を満たしているかどうかを検証することは重要ですが、継続的テストには、計画、分析、共同作業、思考、探索、自動化、検証、報告、レビュー、議論などが含まれます。


2. アジャイルチームだけが継続的テストを使用する

継続的テストの手法は、どんなプロジェクトにも活用できます。利用可能な依存システムがない場合、チームは仮想サービスを作成して、不足しているアプリケーションを模倣することで、できるだけ早くテストを開始することができます。


3. 継続的テストは単なるバズワード

継続的テストは、チームの生産性を向上させ、その価値を証明してきました。継続的テストは、より高い品質のアプリケーションを顧客に提供するための自動化されたアプローチを提供します。


4. 継続的テストを使えるのはテスト担当者だけ

アナリスト、アーキテクト、デザイナー、プログラマー、テスター、オペレーションエンジニアなど、すべての人がソリューションの構築に関わっています。


5. 継続的テストは大規模・複雑なシステムには使えない

システム間の統合ポイントを検証するAPIレベルのテストは、品質を劇的に向上させます。また、サービス仮想化では、従来のアプリケーションシナリオを検証しながら、アプリケーションの依存関係の欠落をシミュレートできます。これは、大規模・複雑なシステムで問題を迅速に発見するために、アプリケーション・インターフェースをテストする際にしばしば重要になります。


6. 継続的なテストは、安全なDEVOPの一部ではない

Secure DevOps」という言葉に「テスト」が含まれていないからといって、ソリューションに含まれていないわけではありません。実際には、欠陥品をエンドユーザーに配布するリスクを低減し、ビジネスの損失を確実に防ぐために必要な負担です。


7. 規制されている業界では、継続的なテストは機能しない

厳しいコンプライアンス要件が課せられている規制業界においても、継続的テストは、詳細なログやテストレポートを提供することで負担を軽減し、全体的な配信プロセスの一部としてコンプライアンスを示すことができます。


8. テストを自動化することで、テスト担当者の数を減らすことができる

探索的なテストは、多くのテスト自動化ツールでは対応できないため、テスト対象のアプリケーションを精査するための目と手(場合によっては耳)が必要です。また、テストアナリストは、どのようなテストを作成し、どのようなデータセットで実行し、その結果を分析するかを決定する。


9. 継続的テストはクラウドアプリケーションには向かない

テスト対象のアプリケーションがどこでホストされているか(ローカル、プライベートデータセンター、パブリックデータセンター、またはその組み合わせ)に関わらず、継続的テストのプラクティスを採用することができます。


10. テストチームは品質に責任を持つ

アジャイルの「チーム全体」のプラクティスを取り入れることで、品質が劇的に向上します。誰もが間違いを犯すので、どんな仕事でも新鮮な目で見ることは非常に貴重です。

HCL OneTest は、DevOpsアプローチをサポートするソフトウェアテストツールを提供している。HCL OneTestは、プロジェクトのライフサイクルを通じてUI、パフォーマンス、APIのテストをサポートし、高度に統合された複雑なアプリケーションのテストという課題に対応します。無料トライアル では、コストを削減しながらスピードと品質を向上させる方法をご覧いただけます。


このブログについて

HCL Japan の Software 部門の複数担当者で HCL Software 全般について記しています。

Tags

Academy Accelerate Accelerator Actian Ambassador AoC AppDev Pack AppScan ASoC BigFix BigFix Workspace CAA CDP Clara Client Applicatin Access Cloud Native Commerce Common Local License Server Compass Connections Connnections CVE-2021-44228 DevOpes Velocity DevOps DevOps Code ClearCase DevOps Code RealTime DevOps Deploy DevOps.Launch.AppScan DevOps Model RealTim DevOps Model RealTime DevOps Plan DevOps Test DevOps Velocity Digital Experience Discover Domino Domino Leap Domino Volt Domino管理者アップデート認定試験対策 DQL DRYiCE DX Enterprise Integrator event General HCAA HCL Ambassador HCL Ambassadors HCL Domino REST API HCL OneTest Embedded HCL Z and I Emulator HCL Z and I Emulator for Transformation HCLSoftware U Hero history HTMO iControl iNotes IZSAM KEEP Launch Launch.DevOps Leap Link MarvelClient nds2019 ndv12beta Noets/Domino Nomad Nomad Mobile Nomad Web notes Notes/Domino notes-domino-9-10-limited-supportability-as-of-202204 Notes/Domino V12 Notes/Domion notescons Now OneDB OneTest OnTime REST RTist SafeLinx Sametime SoFy Total Experience Traveler Traveler for Microsoft Outlook Unica Unica Discover Unica Interact UrbanCode Deploy UrbanCode Velocity Velocity Verse VersionVault Volt Volt MX Volt MX Go Volt MX サンプルアプリ Wordload Automation Workload Automation youtube Z Z Abend Investigator Z and I Emulator Z and I Emulator for Transformation Z and I Emulator for Web Z and I Emulator for Web Client Z Asset Optimizer Z Data Tools Z Software Asset Manager ZAI ZAO ZIE ZIE for Transformation ZIE for Web ZIE for Windows ZIET ZIETrans ZIEWeb イベント ガイド クラウド サポート サポート技術情報 サポート終了 セキュリティ セキュリティー セキュリティー脆弱性 テクてく Lotus 技術者夜会 ニュース ノーツコンソーシアム パートナー ライセンス 九州地区 Notes パートナー会 出荷日 研修