ローカル版バージョン管理サービス
Parent page: 高度なトピック
Enterprise Server のインストールには、Version Control サービスによるローカライズ(および集中管理)されたバージョン管理が用意されています。このサービスにより、必要な場所であるローカル環境でバージョン管理を行えるため、外部の VCS 管理ソフトウェアを探したり、費用を支払ったりする必要がありません。
このように集中管理の形で設計リポジトリを定義することで、組織は設計者がアクセスして使用できるリポジトリを完全に制御できます。
主な利点
この集中管理された Version Control サービスを使用する主な利点は 2 つあります。
- Altium Designer と SVN の両方で、共通のユーザーおよび権限管理を利用できます。Enterprise Server にサインインすると、Version Control サービスはそのセッション/資格情報で動作します。
- Enterprise Server で定義されたリポジトリ(Enterprise Server Workspace のブラウザベースのインターフェースにある VCS ページ(Admin – VCS)経由)は、ログイン時に Altium Designer へ自動的に反映されます。そのため、ユーザーは URL、プロトコル、パスワードなどを気にする必要がありません。Enterprise Server 側で一度設定するだけで、必要に応じて対象ユーザーに共有されます。
リポジトリの作成
リポジトリはローカル Version Control サービス(SVN のみ)を通じて作成でき、また外部リポジトリ(SVN または Git)へ接続することもできます。すべてのリポジトリは、Workspace のブラウザベースのインターフェースにある VCS ページ(Admin – VCS)で、次の観点から集中管理されます。
- 表示名、説明、リポジトリパス。
- アクセス可否の設定 – どの特定ユーザーがアクセスできるか(ローカル Version Control サービスで定義されたリポジトリの場合はロール)。
- 利用可能性 – 個々の設計者が独自にリポジトリを作成して接続するのではなく、中央で追加/削除する。
Altium Designer ユーザーが Workspace にサインインすると、そのユーザーが利用可能な設計リポジトリは自動的に Data Management – Design Repositories page(Preferences ダイアログ内)に追加されます。なお、この一覧には、この Preferences ページから手動で追加された「未管理」のリポジトリも含まれます。
組織の設計リポジトリへのアクセスを中央で定義します。リポジトリは、ローカル Version Control サービスを使用して Enterprise Server インストール内に作成する(内部)ことも、Altium Designer 内蔵の SVN、またはサードパーティの SVN/Git サービスを使用して外部に置くこともできます。アクセス制御は Workspace のブラウザベースのインターフェースにある VCS page で行います。ユーザーが Workspace にサインインすると、そのユーザーが利用可能な設計リポジトリは自動的に Data Management – Design Repositories page(Preferences dialog 内)に追加されます。
リポジトリの追加
設計リポジトリを追加するには、ページ右上にある
ボタンをクリックします。Add Repository ウィンドウが表示されるので、これを使用してリポジトリを定義します。
必要なプロパティは、ローカル Version Control サービスを使用して新しいリポジトリを作成するのか、既存の外部リポジトリへリンクするのかによって異なります。
- New – リポジトリ名と説明を指定するだけです。
- Existing – 名前と説明に加えて、リポジトリへの URL と、そのリポジトリへアクセスするための有効な資格情報(User Name、Password)(必要な場合)を指定する必要があります。
Enterprise Server のローカル Version Control サービスを通じて新しい SVN ベースの設計リポジトリを作成するか、Enterprise Server の外部で作成された既存のリポジトリ(SVN または Git)へリンクします。
リンクされた外部の設計リポジトリは、リポジトリ一覧で External プロパティにチェックが入っている(
)ことで区別されます。
後から設計リポジトリのプロパティを編集するには、該当する Edit コントロール(
)をクリックします。設計リポジトリを削除するには、該当する Remove コントロール(
)をクリックします。
リポジトリの共有
設計リポジトリを集中管理したら、特定のリポジトリへのアクセスが必要な人(ボード設計に取り組む設計者を含む)がアクセスできるようにする必要があります。これは、そのリポジトリを共有する、より正確にはアクセス権限を管理することで実現します。これを行うには、リポジトリに関連付けられた Share コントロール(
)をクリックします。
Manage Permissions ウィンドウが表示され、リポジトリを他のユーザーと共有するために必要なすべてのコントロールが用意されています。
設計リポジトリが中央で整理されていれば、共有は各リポジトリの権限を管理するだけで行えます。
注意点:
- Enterprise Server の Version Control サービスで作成されたローカルリポジトリ(外部ではない)の既定権限では、そのリポジトリは作成者ユーザーと Administrators ロールに共有されます。どちらも Read/Write のフルアクセス権を持ちます。
- 外部リポジトリは、既定では誰とも共有されません。インターフェースから接続を追加したユーザーであっても同様です。
- 定義済みの Enterprise Server のロールグループ、または公開(パブリック)として共有できるのはローカルリポジトリ(外部ではない)のみです。ロールは個々のユーザーの後に一覧表示されます。
- 権限としては、Can Write オプションが有効(
)な場合、ユーザー/ロールは Read/Write アクセスになります。このオプションが無効の場合は Read のみです。
- 既存のユーザー/ロールの共有アクセスを削除するには、該当する Remove コントロール(
)をクリックします。
Sharing a Local Repository with a Workspace User
ローカル(外部ではない)リポジトリを別の Workspace ユーザーと共有するには:
- Manage Permissions ウィンドウで Add User コントロールをクリックします。
- 表示される Add Users ウィンドウで、Select Users to be added フィールドに Workspace ユーザーの氏名(フルネーム)、ユーザー名、またはメールアドレスを入力し始めると、一致するユーザーの一覧がポップアップ表示されます。この一覧から必要なユーザーを選択します。複数ユーザーを選択できます。ユーザーを削除するには、名前の右側にある削除用の×をクリックします。
- Permission フィールドでユーザーの権限を設定します。ドロップダウンから Read アクセス、または Read/Write アクセスを選択します。
-
ボタンをクリックしてユーザー追加を確定し、Manage Permissions ウィンドウに戻ります。
- Manage Permissions ウィンドウで
ボタンをクリックします。
Sharing a Local Repository with a defined Role Group
リポジトリが外部リポジトリではなくローカルのVersion Controlサービスを通じて作成されている場合、Workspaceで定義されたロールグループと共有することもできます。ローカル(外部ではない)リポジトリを別のロールグループと共有するには、次の手順を行います。
- Add Group Manage Permissionsウィンドウで、Add Group コントロールをクリックします。
- Add Groups表示されるAdd Groupsウィンドウで、Select Groups to be addedフィールドにロールグループ名を入力し始めると、一致するロールの一覧がポップアップ表示されます。その一覧から必要なロールを選択します。複数のロールを選択できます。ロールを削除するには、名前の右側にある削除用の×をクリックします。
- Permissionフィールドを使用して、ロールグループの権限を設定します。ドロップダウンから、ReadアクセスまたはRead/Writeアクセスを選択します。
-
ボタンをクリックしてロールの追加を確定し、Manage Permissionsウィンドウに戻ります。
- Manage Permissionsウィンドウで
ボタンをクリックします。
Sharing a Local Repository with All Users
リポジトリが外部リポジトリではなくローカルのVersion Controlサービスを通じて作成されている場合、そのリポジトリをWorkspaceの全ユーザーと共有することもできます。ローカル(外部ではない)リポジトリを、Workspaceにサインインできるすべてのユーザーと共有するには、次の手順を行います。
- Add Anyone Manage Permissionsウィンドウで、Add Anyone コントロールをクリックします。
- Anyoneエントリが共有エンティティの一覧に直接追加され、自動的にRead/Writeアクセスで共有されます。
- Manage Permissionsウィンドウで
ボタンをクリックします。
Sharing an External Repository with a Workspace User
外部リポジトリをWorkspaceユーザーと共有するには、次の手順を行います。
- Add User Manage Permissionsウィンドウで、Add User コントロールをクリックします。
- Add Users表示されるAdd Usersウィンドウで、Select Users to be addedフィールドにWorkspaceユーザーの氏名(フルネーム)、ユーザー名、またはメールアドレスを入力し始めると、一致するユーザーの一覧がポップアップ表示されます。その一覧から必要なユーザーを選択します。ユーザーを削除するには、名前の右側にある削除用の×をクリックします。
SVN Userフィールドには、外部リポジトリ(SVNまたはGit)に登録されており、アクセス権を持つ名前を入力します。通常は、リポジトリに登録されているユーザーの対応する名前になります。
-
ボタンをクリックしてユーザー追加を確定し、Manage Permissionsウィンドウに戻ります。上記手順2と同様に、さらにユーザーを追加するにはAdd Userをクリックします。下の2つ目の例の画像では、ユーザーBarryは一般的なServerAdmin名ではなく、リポジトリ側で一致する名前BarrySmithを使用するように設定されている点に注意してください。
- Manage Permissionsウィンドウで
ボタンをクリックします。
ローカルSVN設計リポジトリへの外部アクセス
Enterprise ServerのローカルVersion Control Serviceを通じて作成されたDesign Repositoryは、TortoiseSVNなどのSVNクライアントを使用してアクセスできます。アクセスは通常のネットワークプロトコル(現在はsvn://がサポートされています)で行います。正しいリポジトリアドレスは、次の2か所から参照/コピーできます。
- WorkspaceのブラウザインターフェースのVCSページ — 対象リポジトリのRepository Pathフィールド内。
Enterprise Serverから作成された「内部」リポジトリでは、Enterprise Serverに対する相対パスとしてアドレスが表示されます。これはホストPCのlocalhostアドレスです。
- Altium Designer内のData Management – Design Repositories page(Preferencesダイアログ)— 対象リポジトリのRepositoryフィールド内。
Altium Designer(またはEnterprise ServerホストPC上にない任意のアプリケーション)の観点では、リポジトリアドレスのパスはホストPC名に基づきます。
取得したアドレスをSubversionクライアントのリポジトリ参照機能で使用します。初回アクセス時には、中間のAuthenticationダイアログが開き、有効な接続資格情報の入力を求められます。続行するには、Workspaceユーザーアカウントの名前とパスワードを入力します。これらの資格情報が有効となる条件は次のとおりです。
- ユーザーアカウントが、Enterprise Serverでリポジトリが作成されるafter前に追加されていたこと。作成済みリポジトリに適用されるユーザーは、Enterprise Server PCの
\ProgramData\Altium\Altium365Data\Repositoryフォルダ内にあるpasswdファイルで確認できます(下記参照)。 - サーバーの Manage Permissions for <repository name>ウィンドウでAdd Userコマンドを使用してそのユーザー名を追加し、リポジトリが当該ユーザーアカウントと共有されていること。これは、Enterprise Server PCの
\ProgramData\Altium\Altium365Data\Repositoryフォルダ内にあるリポジトリのauthzファイルで確認できます。
Enterprise ServerインストールのローカルSVNベースVersion Controlサービスを通じて作成されたDesign Repositoryの内容を参照しているところ。
Enterprise Server & VCSユーザー同期
Workspaceに新しいユーザーを作成すると、そのユーザーの定義済み資格情報(User NameおよびPassword)は、Enterprise ServerのデータベースとVersion Controlサービスの両方に保存されます。これは、後者が前者からパスワードへ直接アクセスできないためです。パスワードはVersion Controlサービス側ではプレーンテキスト形式(\ProgramData\Altium\Altium365Data\Repository\passwdファイル内)で保存されます。
この一覧のエントリにより、Altium Designerを通じてサービスを利用する際にEnterprise ServerのSVNリポジトリへアクセスできます。ユーザーの資格情報がファイルに含まれない場合があります。たとえば、最初のSVNリポジトリが作成された時点でWorkspaceユーザーがすでに存在していた場合(通常とは逆の順序)などです。これは、該当する名前/パスワードの組み合わせをpasswdファイルに手動で追加するか、Workspace内の各ユーザープロファイルでパスワードを再入力することで対処できます。後者の方法では、Enterprise Server PCへ直接アクセスすることなく、passwdファイルが適切に更新されます。
Enterprise Serverのデフォルトインストールでは、Version Controlサービス用のユーザー資格情報は関連するPasswdファイルに保存されます。
リポジトリの削除
Enterprise ServerのVersion Controlサービスからリポジトリを削除するには、WorkspaceのブラウザベースインターフェースのVCSページで、該当リポジトリに関連付けられたRemoveコントロール(
)をクリックします。
外部リポジトリのエントリは、リポジトリにプロジェクトが含まれているかどうかに関係なく削除できます。一方、ローカルリポジトリ(Enterprise ServerのVersion Controlサービスを通じて内部的に作成されたもの)は、1つ以上のプロジェクトを含む場合は削除できません。その旨が通知されるため、削除を進める前にまずプロジェクトを削除してください。
それでも、ローカルリポジトリにプロジェクトが存在しない場合、実際に削除されるのではなく、アーカイブディレクトリ(Enterprise Serverのデフォルトインストールでは\ProgramData\Altium\Altium365Data\RepositoryDumps)へ移動されます。リポジトリはDumpファイル内に格納され、ユニークIDのプレフィックス(例:775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump)が付与されます。












