目次


IBM Rational Team Concert から GitHub への移行

移行と実装の簡易化

Comments

このチュートリアルでは、現在 IBM Rational Team Concert を使用中で、GitHub にすぐにでも移行できる開発者または管理者を対象に、私のチームでの実装経験と、実装の過程で学んだヒントと秘訣を紹介します。

このチュートリアルの内容は以下のとおりです。

  • Rational Team Concert と GitHub の概要
  • 前提条件
  • GitHub リポジトリーの作成方法
  • GitHub Desktop および Rational Team Concert クライアントのセットアップ方法
  • rtc2git パッケージの構成方法
  • IBM Rational Team Concert から GitHub への移行方法
  • GitHub に対するアクセス権限の設定方法
  • よくある問題とその解決策

概要

Rational Team Concert から GitHub に移行するには、一連のスクリプトが必要です。これらのスクリプトで、GitHub に移行する Rational Team Concert 内のストリームのベースラインを識別し、ストリーム内のファイルとフォルダーを GitHub に公開します。

ストリームに含まれるファイルやフォルダーの履歴には興味がないのであれば、ローカル・ワークスペース上に最新のストリームのコピーを作成し、そのストリームを GitHub にコミットします。ソース・コード・データを履歴と併せて移行したいのであれば、rtc2git ツールを使用して移行します。

前提条件

このチュートリアルの手順を完了するための前提条件は以下のとおりです。

  • Rational Team Concert Server 5.0 以降
  • ご使用の Rational Team Concert Server バージョン用の Collaborative Lifecycle Management ツール
  • Rational Team Concert CLI が構成済みであること
  • ご使用の Rational Team Concert Server バージョンと一致する Rational Team Concert クライアント
  • rtc2git ツールを実行するマシン上に Python バージョン 3.4 以降がインストールされていること (移行スクリプトは、Python2 以前のバージョンでは動作しません)
  • rtc2git ツール
  • GitHub Desktop クライアント

GitHub リポジトリーを作成する

移行を開始する前に、Rational Team Concert のソース・コード・データを移行するための GitHub リポジトリーをセットアップする必要があります。以下の図に、GitHub リポジトリーのリストを示します。リポジトリーを作成するには、「New (新規)」をクリックします。

図 1. GitHub リポジトリーの作成
GitHub リポジトリーを作成する画面のスクリーンショット
GitHub リポジトリーを作成する画面のスクリーンショット

テキスト・フィールドにリポジトリーの名前を入力します。プライベート・リポジトリーとパブリック・リポジトリーのどちらを作成するかを選択できます。以下の例では、プライベート・リポジトリーが選択されています。リポジトリーへのアクセスは、移行が完了してから拡大できます。「Create repository (リポジトリーを作成)」をクリックします。リポジトリーの名前はいつでも変更できます。

図 2. GIT 内に作成するプライベート・リポジトリー
GIT 内にプライベート・リポジトリーを作成する画面のスクリーンショット
GIT 内にプライベート・リポジトリーを作成する画面のスクリーンショット

名前を指定してから、「Create repository (リポジトリーを作成)」をクリックしてください。新しく作成されたリポジトリーの URL を GitHub Desktop クライアントに貼り付けるためにコピーしておきます。

図 3. GIT Desktop クライアントのセットアップ
GIT Desktop クライアントをセットアップする画面のスクリーンショット
GIT Desktop クライアントをセットアップする画面のスクリーンショット

GitHub Desktop および Rational Team Concert Eclipse クライアントをセットアップする

GitHub Desktop クライアントを開きます。GitHub リポジトリーが接続されていないブランクのページが表示されます。

図 4. GitHub Desktop クライアント
GIT Desktop クライアントを示すスクリーンショット
GIT Desktop クライアントを示すスクリーンショット

以下の図に、GitHub サーバーから GitHub Desktop クライアントをセットアップする方法を示します。新しく作成した GitHub リポジトリー上で、「Set up in Desktop (Desktop 内にセットアップ)」ボタンをクリックします。ダイアログ・ボックスが開き、GitHub Desktop に送信するよう促されます。「OK」をクリックします。GitHub Desktop が開きます。

図 5. GitHub Desktop のセットアップ
GitHub Desktop をセットアップする画面のスクリーンショット
GitHub Desktop をセットアップする画面のスクリーンショット

次に、リポジトリーのローカル・バージョンを複製する場所を選択します。以下の図では、GitHub Desktop に RTC-GIT という名前でリポジトリーを複製するよう選択しています。リポジトリーの名前を入力し、複数場所を選択した後、「Clone (複製)」をクリックします。

図 6. 名前の入力と Git Desktop の指定
名前を入力し、Git Desktop 上の場所を指定する画面のスクリーンショット
名前を入力し、Git Desktop 上の場所を指定する画面のスクリーンショット

複製された GitHub リポジトリーを開くと、このリポジトリー内のファイルがまだ見えていないことがわかります。

図 7. Git Desktop 内で開かれた Git リポジトリー
Git Desktop 内で開かれた Git リポジトリーを示すスクリーンショット
Git Desktop 内で開かれた Git リポジトリーを示すスクリーンショット

GitHub Desktop 上の RTC-GIT フォルダーを開くと、ローカル・リポジトリー用のスペースが割り当てられている一方、GitHub プロジェクトのフォルダーは空になっていることがわります。

図 8. データを抽出する GitHub Desktop 上の空のスペース
データを抽出する GitHub Desktop 上の空のスペースを示すスクリーンショット
データを抽出する GitHub Desktop 上の空のスペースを示すスクリーンショット

Rational Team Concert Eclipse クライアントを開き、GitHub に移行させる Rational Team Concert のプロジェクト領域に接続します。Rational Team Concert プロジェクト領域ですべての操作を実行するために必要なアクセス権限を持っていることを確認してください。

図 9. Rational Team Concert 内のソース・ファイルのビュー
Rational Team Concert 内のソース・ファイルが表示された画面のスクリーンショット
Rational Team Concert 内のソース・ファイルが表示された画面のスクリーンショット

rtc2git パッケージを構成する

rtc2git をダウンロードします (「前提条件」を参照)。

図 10. rtc2git パッケージのダウンロード
rtc2git をダウンロードする画面のスクリーンショット
rtc2git をダウンロードする画面のスクリーンショット

ダウンロードしたファイルの中身を rtc2git-develop フォルダーに抽出します。以下の図に、パッケージ内に含まれるファイルを示します。

図 11. rtc2git パッケージから抽出されたフォルダー
tc2git パッケージから抽出されたフォルダーを示すスクリーンショット
tc2git パッケージから抽出されたフォルダーを示すスクリーンショット

この特定の移行の詳細を指定するために、config.ini を開きます。config.ini ファイルに必要な入力は以下のとおりです。

  • Repo — 移行するデータが含まれている Rational Team Concert リポジトリーの名前。
  • User — 移行を行う担当者の Rational Team Concert ユーザー名。
  • Password — Rational Team Concert ユーザーのパスワード。
  • GIT-Reponame — Rational Team Concert からのデータを移行する GIT リポジトリーの名前。
  • WorkspaceName — ストリームを一時的にロードする場所 (同じ名前の既存のワークスペースがないことを確認してください)。
  • useExisitingWorkspace — 使用するワークスペースとして既存のワークスペースの名前を「WorkspaceName」に指定した場合は、この項目を選択します。
  • Directory — 移行中に一時データを保管するために使用する、マシン上のローカル・ディレクトリーの場所。
  • Scmcommand — Rational Team Concert SCM ツールをダウンロードした場所。
  • Streamtomigrate — Rational Team Concert から GitHub に移行するストリームの名前 (ストリームの名前が正しく、そのストリームが Rational Team Concert 内に存在していることを確認してください)。
  • useProvidedHistory — ソース・コード・データと併せて履歴も移行する場合は、この項目を選択します。

以下の図に、必要な情報が入力された状態の config.ini ファイルを示します。

図 12. リポジトリーの詳細が入力された config.ini ファイルの例
リポジトリーの詳細が入力された config.ini ファイルの例のスクリーンショット
リポジトリーの詳細が入力された config.ini ファイルの例のスクリーンショット

IBM Rational Team Concert から GitHub に移行する

config.ini ファイルの事前構成が完了したら、Rational Team Concert のソース・コード・データをその履歴と一緒に GitHub に移行します。移行を開始するには、migration.py スクリプトを実行します。注: コマンドを実行する前に、インストールされている Python がバージョン 3.4 以降であることを確認してください。Python3 migration.py スクリプトにより、移行が開始されます。以下の図に、このスクリプトによって実行されるコマンドを示します。スクリプトの実行中にエラーが発生した場合は、すべての前提条件が満たされていることを確認してください。よくあるエラーと解決策については、このチュートリアルの終わりで説明します。

図 13. 移行を処理するコマンド
移行を処理するコマンドを示す図
移行を処理するコマンドを示す図

移行スクリプトの実行が完了すると、GitHub Desktop 上でデータの保管先として作成したローカル・ワークスペース内にソース・コード・データが保管された状態になっているはずです。以下に、その状態の保管場所を示します。

図 14. GitHub Desktop 上で移行ソース・ファイルが保管されている場所
GitHub Desktop 上で移行ソース・ファイルが保管されている場所を示す画面のスクリーンショット
GitHub Desktop 上で移行ソース・ファイルが保管されている場所を示す画面のスクリーンショット

GitHub Desktop クライアントを開いて、rtc2git 移行スクリプトが Rational Team Concert からプルしたファイルとフォルダーを確認します。

図 15. Git Desktop 上のソース・ファイルと「Commit to master (マスターにコミット)」ボタン
Git Desktop 上のソース・ファイルと「Commit to master (マスターにコミット)」ボタンのスクリーンショット
Git Desktop 上のソース・ファイルと「Commit to master (マスターにコミット)」ボタンのスクリーンショット

GitHub Desktop クライアントで、データに追加するコメントをテキスト・フィールドに入力してから、「Commit to master (マスターにコミット)」ボタンをクリックします。これにより、データがコミット状態になり、GitHub サーバーに公開できる状態になります。GitHub Desktop の右上隅にある「Publish (公開)」をクリックします。

図 16. GitHub へのソース・ファイルの公開
GitHub にソース・ファイルを公開するためのボタンのスクリーンショット
GitHub にソース・ファイルを公開するためのボタンのスクリーンショット

ソース・コード・データが GitHub サーバーに公開されると、「Publish (公開)」ボタンのラベルが「Sync (同期)」に変わります。ファイルやフォルダーを追加した場合は、このボタンを使用して、それらのファイル/フォルダーを GitHub サーバーと同期できます。

図 17. Git Desktop と GitHub の同期
Git Desktop を GitHub と同期するためのボタンのスクリーンショット
Git Desktop を GitHub と同期するためのボタンのスクリーンショット

ページを更新して、移行された GitHub 上のソース・コード・データを表示します。以下の図に示すリポジトリーには、Rational Team Concert から GitHub に移行されたすべてのファイルとフォルダーが一覧表示されています。

図 18. GitHub の表示
GitHub が表示された画面のスクリーンショット
GitHub が表示された画面のスクリーンショット

フォルダーを開いて、すべてのファイルとフォルターがエラーなしで移行されていることを確認します。データが完全に揃っていることを確認したら、次は、migration.py スクリプトの実行中に作成されたログを調べます。このステップは、移行アクティビティーの実行中にエラーや警告が出されていないことを確認するステップです。

図 19. IBM Rational Team Concert から GitHub に移行されたファイルとフォルダー
IBM Rational Team Concert から GitHub に移行されたファイルとフォルダーを示すスクリーンショット
IBM Rational Team Concert から GitHub に移行されたファイルとフォルダーを示すスクリーンショット

GitHub に対するアクセス権限を設定する

Rational Team Concert から GitHub にデータを移行した後は、GitHub リポジトリーやプロジェクトの名前を変更しても構いません。GitHub リポジトリーの名前を変更する場合は、リポジトリー内で「Settings (設定)」タブを表示し、「Repository name (リポジトリー名)」テキスト・フィールドに設定されている名前を変更します。

図 20. GitHub リポジトリー名の変更
GitHub リポジトリー名を変更する画面のスクリーンショット
GitHub リポジトリー名を変更する画面のスクリーンショット

「Settings (設定)」ページでは、コラボレーターを GitHub リポジトリーに追加することもできます。その場合、コラボレーターとして追加するユーザーの名前を検索します。検索フィールドにユーザー名を取り込むには、そのユーザーが少なくとも 1 回は GitHub にログインしたことがなければなりません。

図 21. GitHub リポジトリーへのコラボレーターの追加
GitHub リポジトリーにコラボレーターを追加する画面のスクリーンショット
GitHub リポジトリーにコラボレーターを追加する画面のスクリーンショット
図 22.GitHub リポジトリーへの複数のコラボレーターの追加
GitHub リポジトリーに追加された複数のコラボレーターのスクリーンショット
GitHub リポジトリーに追加された複数のコラボレーターのスクリーンショット

GitHub リポジトリーにコラボレーターを追加したら、コラボレーターが作業を開始できるよう、プロジェクトをリリースします。これにより、コラボレーターとして GitHub リポジトリーに追加されたユーザーに、リポジトリーへのアクセス情報が記載された e-メールが送信されます。

図 23.GitHub リポジトリーへの複数のコラボレーターの追加
GitHub リポジトリーに追加された複数のコラボレーターのスクリーンショット
GitHub リポジトリーに追加された複数のコラボレーターのスクリーンショット

よくあるエラーとその解決策

既存のワークスペースにストリームを移行する場合、config.ini ファイルには、完全に同じワークスペース名を入力してください。名前が一致しなかったり、ワークスペース名を追加しなかったりすると、migration.py スクリプトの実行中にエラーが発生します。この問題の解決策は、既存のワークスペースを削除してから、移行スクリプトを再実行することです。こうすることで、Rational Team Concert から GitHub への移行アクティビティーが正常に完了するようになります。

図 24. ワークスペースの削除
ワークスペースの削除を示す図
ワークスペースの削除を示す図

以下の図には、既存のワークスペースを使用する場合に、config.ini ファイル内で誤った項目が選択されていると表示されるエラーを示します。

図 25. Rational Team Concert 内に既存のリポジトリー・ワークスペースがある場合のエラー
Rational Team Concert 内に既存のリポジトリー・ワークスペースがある場合のエラーを示す画面のスクリーンショット
Rational Team Concert 内に既存のリポジトリー・ワークスペースがある場合のエラーを示す画面のスクリーンショット

まとめ

このチュートリアルでは、Rational Team Concert と GitHub の実装経験に基づくヒントを提供し、移行の要件、GitHub リポジトリーの作成方法、セットアップ方法、構成方法、Rational Team Concert から GitHub への移行方法、GitHub に対するアクセス権限の設定方法を手順に沿って説明しました。最後に、よくある問題とその解決策についても説明しました。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=DevOps
ArticleID=1047025
ArticleTitle=IBM Rational Team Concert から GitHub への移行
publish-date=06292017