エクスポート
エクスポートを開始する前に
エクスポート プロセスを開始する前に、必ず移行の前提条件を確認してください。
移行するプロジェクトまたはリポジトリを決定します。
リポジトリの URL から取得できるプロジェクト キーまたはリポジトリ スラッグが必要となります。
リポジトリの URL を訪問する
The format is https://bitbucket.example.com/projects/PROJECT/repos/
repository
, where PROJECT
is the project key and repository
is the repository slug.
エクスポートのプレビュー
プレビューによってエクスポート リクエストを試すことができます。指定されたリクエストに含まれるリポジトリの一覧が返されます。
次のコマンドを使用してプレビューを実行できます。
curl -u <adminusername> -s -n -X POST -H 'Content-type: application/json' -d '{"repositoriesRequest":{"includes":[{"projectKey":"*","slug":"*"}]}}' http://localhost:7990/rest/api/1.0/migration/exports/preview | jq .
プレビューには次のリクエスト値が必要です (REST ドキュメント)。
説明 | 値 |
---|---|
URL | /rest/api/1.0/migration/exports/preview |
HTTP 動詞 | POST |
HTTP ヘッダー | Content-type: application/json |
認証 | Basic (基本) |
すべてのリポジトリのプレビューを行うには、次のように実行します。
{
"repositoriesRequest": {
"includes": [
{
"projectKey":"*",
"slug":"*"
}
]
}
}
1 つの完全なプロジェクトと特定のリポジトリをプレビューするには、次のように実行します。
{
"repositoriesRequest": {
"includes": [
{
"projectKey":"PROJECTKEY",
"slug":"*"
},
{
"projectKey":"PROJECTKEY2",
"slug":"repository-slug"
}
]
}
}
必要に応じ、projectKey と slug の組み合わせを必要なだけ指定できます。
フォーク階層で 1 つのリポジトリを選択するとすぐに、そのフォーク階層のすべてのリポジトリ (パーソナル フォークおよびリポジトリの origin を含む) がエクスポートされます。
エクスポートを実行する
エクスポートを開始すると、必要なすべての Git データとデータベース エンティティを含むアーカイブ ファイルがディスクに書き込まれます。
The archive file can be found after the migration is finished, in $BITBUCKET_SHARED_HOME/data/migration/export/Bitbucket_export_<Job ID>.tar
次のコマンドを使用してエクスポートを実行できます。
curl -u <adminusername> -s -n -X POST -H 'Content-type: application/json' -d '{"repositoriesRequest":{"includes":[{"projectKey":"*","slug":"*"}]}}' http://localhost:7990/rest/api/1.0/migration/exports | jq .
エクスポートには次の値が必要です (REST ドキュメント)。
説明 | 値 |
---|---|
URL | /rest/api/1.0/migration/exports |
HTTP 動詞 | POST |
HTTP ヘッダー | Content-type: application/json |
認証 | Basic (基本) |
注: エクスポートをプレビューしたときと同じリクエスト本文を使用できます。
すべてのリポジトリをエクスポートするには、次のように実行します。
{
"repositoriesRequest": {
"includes": [
{
"projectKey":"*",
"slug":"*"
}
]
}
}
1 つの完全なプロジェクトと特定のリポジトリをエクスポートするには、次のように実行します。
{
"repositoriesRequest": {
"includes": [
{
"projectKey":"PROJECTKEY",
"slug":"*"
},
{
"projectKey":"PROJECTKEY2",
"slug":"repository-slug"
}
]
}
}
You can specify the projectKey
and slug
pair as many times as necessary.
フォーク階層で 1 つのリポジトリを選択するとすぐに、そのフォーク階層のすべてのリポジトリ (パーソナル フォークおよびリポジトリの origin を含む) がエクスポートされます。
レスポンスには、後でジョブのステータスを問い合わせるために重要となるジョブ ID が含まれます。
エクスポート中
以下の REST エンドポイントをクエリすると、進捗を確認できます。
watch -n30 'curl -u <adminusername> -s -n -X GET http://localhost:7990/rest/api/1.0/migration/exports/<Job ID> | jq .'
Replace <Job ID>
with the "id" value that was returned from the request that started the export job.
進捗状況をクエリするには次の値が必要です (REST ドキュメント)。
説明 | 値 |
---|---|
URL | /rest/api/1.0/migration/exports/<Job ID> |
HTTP 動詞 | GET |
認証 | Basic (基本) |
エクスポート後
On completion, the job state will change to COMPLETED
and the export file can be found in $BITBUCKET_SHARED_HOME/data/migration/export/Bitbucket_export_<Job ID>.tar
. If any errors occurred, the job state will change to ABORTED
for fatal errors or FAILED
.
警告またはエラーを確認するには、次の手順を実行します。
curl -u <adminusername> -s -n -X GET http://localhost:7990/rest/api/1.0/migration/exports/<Job ID>/messages | jq .
Replace <Job ID>
with the "id" value that was returned from the request that started the export job.
警告またはエラーを確認するには次の値が必要です (REST ドキュメント)。
説明 | 値 |
---|---|
URL | /rest/api/1.0/migration/exports/<Job ID>/messages |
HTTP 動詞 | GET |
認証 | Basic (基本) |
個々の場合に応じた警告メッセージへの対応が必要ですが、一般に、エクスポートされなかったデータがあるが、アーカイブは別のインスタンスへのインポートに使用できることを意味します。
エラー メッセージは一般に、生成されたアーカイブが使用不能であることを意味します。詳細は、トラブルシューティングのセクションを参照してください。
エクスポートのキャンセル
リクエストの受け入れと実際のジョブ キャンセルとの間に若干の遅れが生じる場合があります。ほとんどの場合、この遅れは無視可能な大きさです。
クラスタ全体に通信の問題が発生した場合、ジョブのキャンセルに数秒間かかる場合があります。
ジョブのキャンセルが正常に完了したことを確認するために、クエリを常に実行してジョブのステータスを問い合わせることをおすすめします。
エクスポート アーカイブはそのまま残りますが、インポートの実行に使用することはできません。これは問題の診断にのみ使用できます。
エクスポートのキャンセル方法:
curl -u <adminusername> -s -n -X POST -H 'Content-type: application/json' http://localhost:7990/rest/api/1.0/migration/exports/<Job ID>/cancel
Replace <Job ID>
with the "id" value that was returned from the request that started the export job.
エクスポートをキャンセルするには次の値が必要です (REST ドキュメント)。
説明 | 値 |
---|---|
URL | /rest/api/1.0/migration/exports/<Job ID>/cancel |
HTTP 動詞 | POST |
認証 | Basic (基本) |