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