Arc は設定ファイル(
*.cfg、XML、JSON、バイナリなど)を追跡しますが、Vault とその内容、およびユーザーとロールの2つは例外です。トークン、ユーザー名、パスワードなどの機密値をバージョン管理しないようにするため、CData は、すべての 機密値をVault に保存し、機密値が必要なコネクタではVault のアイテムを参照することを推奨します。追跡されるファイルの種類の完全な一覧については、アーキテクチャを参照してください。ワークスペースに独自のリポジトリがある場合、そのワークスペースのファイルは、グローバルリポジトリではなくワークスペースリポジトリで追跡されます。バージョン管理からファイルを除外するには、Arc のアプリケーションディレクトリのルートにある.gitignore ファイルにエントリを追加します。ファイルまたはパターンを除外するには、.gitignore の新しい行に追加します。除外の一般的な対象には、デプロイ間で異なる環境固有の設定ファイルや、リポジトリサイズを肥大化させる大きなバイナリファイルが含まれます。除外されたファイルはコミット、プッシュ、プル、または復元されることはないため、各環境で個別に管理する必要があることに注意してください。インストールと設定
前提条件
バージョン管理機能を使用する前に、開発環境や本番環境を含むすべてのArc 環境にGit をインストールする必要があります。 リモートリポジトリを使用する場合は、バージョン管理を設定する前にリポジトリを作成する必要があります。Arc は、GitHub、GitLab、Azure DevOps、Bitbucket を含むすべての主要なGit プラットフォームをサポートしています。 ローカルリポジトリを使用する場合は、リモートのセットアップは不要です。Git のインストール
Windows
- git-scm.com/download/win からGit インストーラーをダウンロードします。
- インストーラーを実行し、お好みの設定でインストールウィザードに従います。
-
コマンドプロンプトまたはPowerShell を開き、次を実行してインストールを確認します。
Linux Debian/Ubuntu
次を実行します:Linux Fedora/RHEL/CentOS
次を実行します:バージョン管理の設定
バージョン管理は、アプリケーション全体(グローバルリポジトリ)と、必要に応じて個々のワークスペースの2つのレベルで設定できます。2つの関係については、グローバルリポジトリとワークスペースリポジトリを参照してください。グローバルリポジトリの設定
設定 > 高度な設定 > Git バージョン管理に移動してバージョン管理を設定します。詳細については、Git バージョン管理設定を参照してください。 設定をクリックすると、まず構成の種類を選択します:- リモート:ホスト型Git リポジトリに接続します。これにより、複数のArc 環境間でのプッシュ、プル、チームコラボレーションが可能になります。
- ローカル:Arc サーバー上に直接スタンドアロンのGit リポジトリを作成します。リモートURL や認証情報は不要です。バージョン管理を最速で開始する方法です。
ワークスペースリポジトリの設定
個々のワークスペースを専用のリポジトリでバージョン管理するには:- ワークスペースを開き、省略記号メニューの設定をクリックします。Git バージョン管理タブをクリックします。
- Git バージョン管理を有効にするスイッチをオンにします。グローバルリポジトリがセットアップされている場合は、ワークスペースのバージョン管理を有効にするとグローバルリポジトリから除外され、設定したリポジトリでのみ追跡されることを説明する警告が表示されます。
-
リポジトリを設定します。フィールドはアプリケーションレベルのリポジトリと同じです。詳細については、Git バージョン管理設定を参照してください。
構成の種類を選択します:
- リモート:ホスト型Git リポジトリに接続します。リポジトリURL と認証情報を指定します。
- ローカル:Arc サーバー上にスタンドアロンのGit リポジトリを作成します。リモートURL や認証情報は不要です。
- 保存をクリックします。
ワークスペースリポジトリには、デフォルトワークスペースに関する制限など、いくつかのルールがあります。詳細については、グローバルリポジトリとワークスペースリポジトリを参照してください。ワークスペースリポジトリは、ローカルとリモートの間で変換できます(ローカルからリモートリポジトリへの移行およびリモートリポジトリからローカルリポジトリへの変換を参照してください)。リモートURL は、設定を保存した後でも変更できます(リモートURL の編集を参照してください)。
グローバルリポジトリとワークスペースリポジトリ
Arc は2種類のリポジトリをサポートしています:- グローバル:設定 > 高度な設定 > Git バージョン管理で設定するアプリケーションレベルのリポジトリです。デフォルトでは、すべてのワークスペースを含むインスタンス全体の設定を追跡します。
- ワークスペース:グローバルリポジトリとは別に、単一のワークスペースをバージョン管理する任意のリポジトリです。
- グローバルリポジトリがセットアップされている場合、ワークスペースリポジトリを有効にすると、ワークスペースはグローバルリポジトリから移動されます。有効にした後は、ワークスペースは設定したリポジトリでのみ追跡されます。
- 共有リソースはグローバルリポジトリに残ります。ワークスペースが使用する接続、証明書、プロファイルはグローバルリポジトリに残ります。そのため、ワークスペースリポジトリは、ワークスペースに必要なすべてのものの自己完結型のバックアップではありません。
- ワークスペースリポジトリはグローバルリポジトリから独立しています。グローバルリポジトリをセットアップしているかどうかにかかわらず、ワークスペースリポジトリを有効にできます。
- デフォルトワークスペースには独自のリポジトリを設定できません。そのGit バージョン管理タブには、デフォルトワークスペースには、別個のGit リポジトリを使用できません。 というメッセージが表示されます。
一度に1つのリポジトリ
すべてのバージョン管理アクションは、ちょうど1つのリポジトリ、つまり現在選択しているリポジトリに適用されます。コミット、プッシュ、プル、ブランチ、破棄、復元、およびステータスはすべて選択したリポジトリにのみ適用され、他のリポジトリには適用されません。複数のリポジトリにまたがるアクションはありません。- リポジトリリストの行から開始したアクションは、アクションの実行中にアクティブなワークスペースが変わっても、その行のリポジトリに対して実行されます。
- 進行状況、エラー、および件数はリポジトリごとに個別に追跡されるため、1つのリポジトリでの失敗が別のリポジトリでの作業を妨げることはありません。
開発環境
このセクションはリモートリポジトリにのみ適用されます。ローカルリポジトリは同期するリモートがないため、個別の開発環境は必要ありません。
- 複数のユーザーが同時に変更を行った際のマージコンフリクト
- 競合するバージョン管理操作による不十分なユーザーエクスペリエンス
-
本番環境からデータ暗号化キーをエクスポートします(キーの使用方法の詳細については、データ暗号化キーとマスターキーについてを参照してください)
- 本番環境で、API キーを使用して管理API のexportDataEncryptionKeyエンドポイントを呼び出します。
passphraseパラメータを使用して、開発環境にキーをインポートする際に使用するパスフレーズを作成します。 - このデータ暗号化キーは開発環境で必要になるため、レスポンスを保存してください。
- 本番環境で、API キーを使用して管理API のexportDataEncryptionKeyエンドポイントを呼び出します。
-
本番環境からVault をエクスポートします。
-
UI を使用する
- 設定 > 高度な設定 > 移行 > エクスポートに移動します
- カスタムエクスポートを選択してパスワードを作成し、次へをクリックします
- 設定タブで、Vaultのみをチェックします
- エクスポートをクリックしてエクスポートを実行し、ファイルをダウンロードします
- Vault オプションを有効にした管理API のexportエンドポイントを使用する
-
UI を使用する
-
開発環境にArc をインストールします(まだインストールされていない場合)
- 開発マシンにArc をインストールします
- 初期設定を完了し、最初のユーザーアカウントを作成します
- 開発用ライセンスをインストールします
- API アクセス用のAPI キーを作成します
- データ暗号化キーを開発環境にインポートします:開発環境で、API キーを使用して、本番環境からキーをエクスポートした際に使用したのと 同じパスフレーズ で管理API のimportDataEncryptionKeyエンドポイントを呼び出します。これにより、開発環境が同じデータ暗号化キーを使用し、Vault の内容を復号できるようになります。
-
Vault を開発環境にインポートします
-
UI を使用する
- 設定 > 高度な設定 > 移行 > インポートに移動します
- 先ほどエクスポートしたVault ファイルをアップロードします
- インポートプロセスを完了します
- 管理API のimportエンドポイントを使用して、Vault ファイルをアップロードしてインポートします。
-
UI を使用する
-
リモートリポジトリをプルして、開発環境を本番の設定と同期します。本番環境の一部のワークスペースに独自のリポジトリがある場合は、それらのリポジトリも設定してプルしてください。接続、証明書、プロファイルなどの共有リソースはグローバルリポジトリに残るため、グローバルリポジトリもプルする必要があります。
-
UI を使用する
- 前提条件の手順に従ってGit をインストールします
- 設定 > 高度な設定 > Git バージョン管理に移動します
- リモートリポジトリ接続を設定します(手順については、Git バージョン管理設定を参照してください)
- リモートリポジトリから最新の変更をプルします
- 標準のGit コマンドを使用して、ローカルマシンでリポジトリ接続を設定する
-
UI を使用する
- 本番に影響を与えることなく、ローカルで変更を行いテストする
- ローカルリポジトリに変更をコミットする
- 完了した作業をリモートリポジトリにプッシュする
- 他のチームメンバーが行った更新をプルする
- 共同開発のために標準のGit ワークフロー(ブランチやプルリクエストなど)に従う
バージョン管理操作
Arc のGit 統合は、設定変更の管理、リモートリポジトリとの同期、複数の開発ブランチの維持を可能にする、不可欠なバージョン管理操作を提供します。これらの操作は標準のGit ワークフローに従いつつ、Arc の設定管理のニーズに合わせて特別に調整されています。 バージョン管理が環境に実装されると、標準のArc フッターは、変更されたローカルファイル数、リモートコミット数、選択したリポジトリ、現在のブランチなどのGit メトリクスとアクションを表示するステータスバーになります。これらすべてのメトリクスとアクションは、選択したリポジトリに適用されます(一度に1つのリポジトリを参照してください)。
権限
バージョン管理は管理者に制限されています。グローバルリポジトリとワークスペースリポジトリの両方で、バージョン管理ログの表示を含むバージョン管理機能を使用できるのは、Admin ロールのユーザーのみです。それ以外のすべてのユーザーには、UI にバージョン管理のオプションが表示されません。コミットとプッシュ
コミット は、選択したリポジトリ内のすべての設定変更を単一のアトミックな単位として取得し、そのリポジトリに保存します。コミットすると、Arc は自動的にArc のユーザー名を作成者として記録し、変更にタイムスタンプを付けることで、誰がいつどのような変更を行ったかの完全なトレーサビリティを確保します。変更の目的を文書化するために、コミットメッセージが必須です。 プッシュ は、ローカルのコミットをリモートのGit リポジトリに同期し、変更を他のチームメンバーやバックアップシステムが利用できるようにします。まだプルしていない新しい変更がリモートブランチに含まれている場合、プッシュ操作は失敗し、エラーメッセージと次に行うべきことの提案が表示されます。これにより、他のユーザーの作業を上書きすることを防ぎ、適切なマージ処理を確保します。 リモートリポジトリの場合、コミットとプッシュの操作は単一のアクションで処理されます。詳細については、新しい変更のコミットとプッシュを参照してください。 ローカルリポジトリの場合、プッシュのステップはありません。ツールバーにはコミット&プッシュの代わりにコミットが表示されます。プル
プルはリモートリポジトリでのみ利用できます。ローカルリポジトリにはプルするリモートがありません。
リポジトリの選択
複数のリポジトリが初期化されている場合、ツールバーには検索可能なリポジトリリストが含まれます。これを使用して、すべてのリポジトリの状態を確認し、どのリポジトリを選択するかを選べます。
- Git プロバイダーとリポジトリ名
- スコープ:グローバル、またはワークスペースの名前
- 現在のブランチ
- ローカルの変更数
- 受信コミット数
- コミット&プッシュ(リモートがないリポジトリの場合はコミット):そのリポジトリを事前に選択した状態で、ローカル変更フライアウトを開きます。
- プル:そのリポジトリの受信コミットをプルします。
- 選択:そのリポジトリを選択したリポジトリにします。現在のリポジトリには、代わりに選択済みと表示されます。
ブランチ
ブランチ管理により、開発、テスト、本番の各環境など、さまざまな目的に応じた個別の設定バージョンを維持できます。ブランチは1つのリポジトリに属するため、表示されるブランチや行うブランチの変更は、選択したリポジトリにのみ適用されます。ツールバーのブランチドロップダウンを使用して、ブランチの切り替え、新規作成、または古いブランチの削除を行います。新しいブランチを作成する際は、ブランチ名を指定し、どのブランチから作成するかを選択します(デフォルトでは現在のブランチが使用されます)。これにより、メイン環境に影響を与えることなく設定変更を試すことができます。詳細については、ブランチの作成およびブランチの削除を参照してください。ログ記録
すべてのバージョン管理の変更は、アクティビティページの監査ログセクションに記録されます。必要に応じて、そのページからログをダウンロードできます。
履歴ビューア
バージョン管理を有効にすると、アクティビティページにコミット履歴タブが表示されます。これは、一度に1つのリポジトリのコミット履歴を表示し、コミットハッシュ、コミットメッセージ、作成者、日時、各コミットで変更されたファイルのリストなどの詳細を提供します。このタブのコンテンツは検索とフィルタリングが可能です。
- Repository フィルタを使用して、テーブルに履歴を表示するリポジトリを選択します。このタブには単一のリポジトリの履歴が表示され、すべてのリポジトリを統合した履歴ではありません。テーブルにはリポジトリ列がなく、すべてのリポジトリを一度に表示するオプションもありません。プルや復元など、行に対するアクションは、履歴を表示しているリポジトリに適用されます。リポジトリが設定されていない場合、タブには No repositories available と表示されます。
- すべておよびすべてのユーザーフィルタを使用して、結果をさらに絞り込みます。

- パスワードとシークレットはマスクされます
- Vault の参照はキーシンボルでプレフィックスが付きます

バージョン管理ワークフローの例
以下の例は、Arc のGit 統合を使用する際に遭遇する一般的なバージョン管理のシナリオを示しています。これらのワークフローは、不可欠な操作(リモートリポジトリからの更新のプル、ブランチの作成と削除、変更のコミットとプッシュ、変更の復元、ローカルとリモートの変更が分岐した際のコンフリクトの解決、不要な変更の破棄)をカバーしています。変更のプル
このワークフローはリモートリポジトリにのみ適用されます。
- ツールバーのプルをクリックして、コミットを確認せずにプルする
-
ツールバーのコミット数をクリックして、リモートコミットをプルプレビューを開く

- アクティビティページのコミット履歴タブに移動し、左側のリモートコミット数へのリンクまたは右側のプルボタンをクリックして、リモートコミットをプルプレビューを開く

ブランチの作成
新しいブランチを作成するには、ツールバーのブランチアイコンをクリックします(ここでブランチを切り替えることもできます)。

ブランチの削除
ブランチを削除するには、ツールバーのブランチアイコンをクリックします。削除したいブランチにカーソルを合わせ、ゴミ箱アイコンをクリックします。
新しい変更のコミットとプッシュ
Arc で変更を行っている際、ツールバーには選択したリポジトリで変更されたファイルの合計数が表示されます。


リモートリポジトリの場合、コミットとプッシュは単一のステップで行われます。ローカルにコミットしてからプッシュするのではありません。 ローカルリポジトリの場合、プッシュするリモートがないため、コミットのみ利用できます。
以前のリビジョンからの変更の復元
リソースを以前の状態に復元するには、アクティビティページのコミット履歴タブに移動し、Repository フィルタを使用してリソースを含むリポジトリを選択します。復元はそのリポジトリにのみ適用されます。変更ファイル列の右側にある省略記号をクリックし、復元をクリックします。現在の状態と提案される復元ポイントの状態の間のdiff を確認し、次へをクリックします。復元を続行すると、それらのファイル内のコミットされていない変更が完全に失われることに注意してください。タスクを完了するには、リソースを復元をクリックします。コミットとプルのコンフリクトの管理
このセクションはリモートリポジトリにのみ適用されます。ローカルリポジトリには分岐するリモートブランチがないため、コミットのコンフリクトは発生しません。

変更の破棄
選択したリポジトリの現在の変更を破棄するには、ツールバーのゴミ箱アイコンをクリックします。これにより、変更を破棄ペインが開き、破棄する変更を正確に選択できます。次へをクリックし、選択が正しいことを確認してから、変更を破棄をクリックします。完了すると、確認メッセージが表示され、ツールバーの変更数が破棄された変更の数だけ減少します。 ローカル変更フライアウトで変更を破棄することもできます。破棄するリソースを選択し、コミット…ボタンのドロップダウン矢印を使用して変更を破棄を選択します。選択内容を確認してから、変更を破棄をクリックします。ローカルからリモートリポジトリへの移行
ローカルリポジトリがあり、コミット履歴を保持しながらリモートサーバーに接続したい場合は、リモートリポジトリに変換できます。これはグローバルリポジトリとワークスペースリポジトリの両方で機能します。- リモートリポジトリを作成します:お使いのGit プラットフォーム(GitHub、GitLab、Bitbucket など)で新しい空のリポジトリをセットアップします。
- バージョン管理の設定を開きます:グローバルリポジトリの場合は、設定 > 高度な設定 > Git バージョン管理に移動します。ワークスペースリポジトリの場合は、ワークスペースを開き、省略記号メニューの設定をクリックします。Git バージョン管理タブをクリックします。
- 構成の種類をローカルからリモートに変更します。
- リモートリポジトリのURL と認証情報を入力します。利用可能な認証スキームについては、Git バージョン管理設定を参照してください。
- 保存をクリックします。Arc はリモートをリポジトリに追加し、認証情報を適用します。ステータスが接続済みと表示されたら、コミット&プッシュをクリックして、既存のローカルコミットをリモートリポジトリに送信します。
.git ディレクトリを再作成することはありません。
リモートリポジトリからローカルリポジトリへの変換
リモートとの同期を停止しつつ履歴を保持するには、グローバルリポジトリまたはワークスペースリポジトリのバージョン管理の設定を開き、構成の種類をリモートからローカルに変更して、保存をクリックします。Arc はリポジトリからリモートをきれいに削除します。ローカルのコミット履歴と追跡対象ファイルは保持され、そのリポジトリではプルが利用できなくなります。リモートURL の編集
バージョン管理が初期化された後でも、リポジトリのURL を変更できます。すでにリモートに接続されているリポジトリのリモートURL を変更するには:- リポジトリのバージョン管理の設定を開きます。グローバルリポジトリの場合は、設定 > 高度な設定 > Git バージョン管理に移動します。ワークスペースリポジトリの場合は、ワークスペースを開き、省略記号メニューの設定をクリックします。Git バージョン管理タブをクリックします。
- リポジトリURL と、必要に応じて認証情報を編集します。
- 保存をクリックします。