GitLab からの移行
On This Page
このドキュメントでは、GitLab から CircleCI に移行する方法を概説します。
ImagineX Consulting からのヒント |
ソースコントロールの設定
GitLab の SCM を使用している場合は、まずソースコードを GitHub または Bitbucket に移行する必要があります。 コードのインポート方法の詳細については、以下をご参照ください。
GitHub Enterprise
以下は、Git のコマンドラインツールを使って GitHub Enterprise にコードをインポートするための手順です。
-
GitHub Enterprise のインスタンスに空のリポジトリを作成します。
-
ローカルマシンに GitLab.comリポジトリのベアクローンを作成し、すべてのリモートタグ (refs/tags/*) をフェッチし、すべてのリモートブランチヘッド (refs/heads/\*) を対応するローカルブランチヘッドに直接コピーします。
git clone git@gitlab.com:[owner]/[repo-name].git --bare
-
ローカルクローンに、GitHub Enterprise リポジトリをリモートリファレンスとして追加します。
cd [repo-name] git remote add enterprise git@[hostname]:[owner]/[repo-name].git
-
すべてのローカルリファレンス(refs/\*)を、リモートの GitHub Enterprise リポジトリにプッシュします。
git push enterprise --mirror
他の GitLab アーティファクトをエクスポートする必要がある場合は、GitLab のドキュメント プロジェクトのエクスポート に従ってください。
コードを GitHub または Bitbucket にインポートしたら、 入門ガイド に従って CircleCI 上でのプロジェクト作成を開始することができます。
ビルドの設定
GitLab の CI/CD を使用している場合は、ビルドの設定を移行する必要があります。 GitLab では、ビルドの設定は、ソースコードリポジトリのルートディレクトリにある .gitlab-ci.yml
というファイルで定義します。 ビルドの実行にシェルスクリプトを使用している場合は、CircleCI でそのスクリプトを再利用することができます。
まず、CircleCI のビルド設定ファイルを作成します。 ソースコードリポジトリのルートディレクトリに、.circleci
というフォルダを作成し、その中に config.yml
という名前のファイルを作成します。 次に、CircleCI のドキュメント ( こちら ) に沿って、 .config.yml
ファイルの設定方法を確認します。
GitLab と CircleCI の設定は異なります。 ビルドステップを変換する際は、GitLabと CircleCI の両方のリファレンスドキュメントを並べて開いておくことをお勧めします。
設定の比較
GitLab | CircleCI |
---|---|
1つのビルドステップを実行するジョブの定義 | |
| |
ジョブに使用するDocker イメージの指定 | |
| |
マルチステージのビルドパイプラインの定義: ジョブ 1 と ジョブ 2 を同時に実行します。 完了すると、ジョブ 3 を実行します。 ジョブ 3 が完了すると、ジョブ 4 を実行します。 | |
| |
マルチプラットフォームでのジョブの実行: GitLab では、タグを使ってビルドエージェントを識別します。 CircleCI では主要な OS と Docker はすべてサポートしており、設定で明示的に定義する必要があります。 詳しくは、 実行環境に関するドキュメント をご覧ください。 | |
| |
依存関係のキャッシュ | |
| |
より大規模で複雑なビルドについては、CircleCI のプラットフォームに慣れるまで、段階的に移行することをお勧めします。 以下の順番での移行をお勧めします。
-
依存関係のインストール、 依存関係のキャッシュ も参照してください。
-
テストコマンドの実行
ドキュメントの改善にご協力ください
このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。
- このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
- ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
- CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。
サポートが必要ですか
CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。
または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.