各製品の資料を入手。
詳細はこちら →複数Azure DevOps アカウントをレプリケーション
複数のAzure DevOps アカウントを、1つあるいは多数のデータベースにレプリケーション。
最終更新日:2022-06-05
こんにちは!プロダクトスペシャリストの宮本です。
CData Sync for AzureDevOps は、データベースにサンドボックスや製品インスタンスをレプリケートするなどの、レプリケーションの多様なシナリオに対する解決策を提供するスタンドアロンアプリケーションです。Sync for Windows およびSync for Java はどちらもコマンドラインインターフェース(CLI)を含んでおり、複数のAzure DevOps 接続を簡単に管理できます。この記事では、CLI を使って複数のAzure DevOps アカウントをレプリケートする方法について説明します。
Azure DevOps 接続の構成
接続およびE メール通知設定をXML 設定ファイルに保存できます。複数のAzure DevOps アカウントをレプリケートするには、複数の設定ファイルを使います。以下にAzure DevOps をSQLite にレプリケートする設定例を示します。
Windows
<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync>
<DatabaseType>SQLite</DatabaseType>
<DatabaseProvider>System.Data.SQLite</DatabaseProvider>
<ConnectionString>AuthScheme=Basic;Organization=MyAzureDevOpsOrganization;ProjectId=MyProjectId;PersonalAccessToken=MyPAT;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
<TaskSchedulerStartTime>09:51</TaskSchedulerStartTime>
<TaskSchedulerInterval>Never</TaskSchedulerInterval>
</CDataSync>
Java
<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync>
<DatabaseType>SQLite</DatabaseType>
<DatabaseProvider>org.sqlite.JDBC</DatabaseProvider>
<ConnectionString>AuthScheme=Basic;Organization=MyAzureDevOpsOrganization;ProjectId=MyProjectId;PersonalAccessToken=MyPAT;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>
AzureDevOps 接続プロパティの取得・設定方法
Azure DevOps アカウントに接続するには、Profile -> Organizations に移動し、アカウントの組織名を取得します。Organization プロパティをこの値に設定します。
Note: 複数のカタログやスキーマに存在するテーブル名もあります。テーブルをクエリする際は、Catalog およびSchema 接続プロパティ、または完全修飾テーブル名のいずれかでカタログとスキーマを指定する必要があります。
Azure DevOps への認証
Azure DevOps は、Basic 認証とAzure AD(OAuth ベース)認証の両方をサポートします。
Basic
Basic 認証でAzure DevOps に接続する場合、Organization とPersonalAccessToken の両方を指定します。 パーソナルアクセストークンを生成するには、Azure DevOps 組織アカウントにログインし、Profile -> Personal Access Tokens -> New Token に移動します。生成されたトークンが表示されます。
Azure AD
Azure AD は、Microsoft のマルチテナント、クラウドベースのディレクトリおよびID 管理サービスです。 これはユーザーベースの認証で、AuthScheme をAzureAD に設定し、Organization をAzure DevOps Organization の名前に設定する必要があります。 Web アプリケーションを介したAzure AD への認証には、必ずカスタムOAuth アプリケーションの作成が必要です。 詳しい認証方法は、ヘルプドキュメント の「Azure DevOps への認証」セクションを参照してください。
各Azure DevOps インスタンスにクエリを設定
Sync を使うと標準SQL でレプリケーションを制御できます。REPLICATE ステートメントはハイレベルなコマンドで、データベースにテーブルをキャッシュして維持します。Azure DevOps API がサポートするあらゆるSELECT クエリを定義できます。下記のステートメントは、Azure DevOps のデータ のテーブルをキャッシュしてインクリメンタルに更新します。
REPLICATE Builds;
特定のデータベースを更新するために使用するレプリケーションクエリを含むファイルを指定することができます。レプリケーションステートメントはセミコロンで区切ります。次のオプションは、複数のAzure DevOps アカウントを同じデータベースにレプリケートする場合に便利です。
REPLICATE SELECT ステートメントでは、異なるテーブルのプレフィックスを使用できます。
REPLICATE PROD_Builds SELECT * FROM Builds
異なるスキーマを使用することもできます。
REPLICATE PROD.Builds SELECT * FROM Builds
Sync の実行
接続文字列およびレプリケーションクエリの設定が完了したら、次のコマンドラインオプションを使ってSync を実行できます。
Windows
AzureDevOpsSync.exe -g MyProductionAzureDevOpsConfig.xml -f MyProductionAzureDevOpsSync.sql
Java
java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar AzureDevOpsSync.jar -g MyProductionAzureDevOpsConfig.xml -f MyProductionAzureDevOpsSync.sql