AWS CodeCommit は、新しいお客様では利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Git リポジトリを に移行するAWS CodeCommit
既存の Git リポジトリを CodeCommit リポジトリに移行できます。このトピックの手順では、別の Git リポジトリにホストされているプロジェクトを CodeCommit に移行する方法について説明します。このプロセスの一環として、次の作業を行います。
-
CodeCommit に必要な初期セットアップを完了します。
-
CodeCommit リポジトリを作成します。
-
リポジトリをクローンし、CodeCommit にプッシュします。
-
CodeCommit リポジトリ内のファイルを表示します。
-
CodeCommit リポジトリをチームと共有します。
トピック
ステップ 0: CodeCommit へアクセスに必要なセットアップを行う
リポジトリを CodeCommit にマイグレーションする前に、CodeCommit 用の IAM ユーザーを作成して設定し、アクセス用にローカルコンピュータを設定する必要があります。また、AWS CLI をインストールして CodeCommit を管理する必要があります。ほとんどの CodeCommit タスクは CLI なしで実行できますが、AWS CLI はコマンドラインや端末で Git を操作するときに柔軟性を提供します。
CodeCommit 用に既に設定されている場合は、ステップ 1: CodeCommit リポジトリを作成する にスキップできます。
IAM ユーザーを作成および設定して CodeCommit にアクセスするには
アマゾン ウェブ サービスアカウントを作成するには、http://aws.amazon.com
にアクセスし、[Sign Up] (サインアップ) を選択します。 IAM ユーザーを作成するか、アマゾン ウェブ サービスアカウントに関連付けられた既存のユーザーを使用します。アクセスキー ID およびシークレットアクセスキーがその IAM ユーザーに関連付けられていることを確認します。詳細については、アマゾン ウェブ サービスアカウントの IAM ユーザーの作成を参照してください。
注記
CodeCommit は が必要ですAWS Key Management Service 既存の IAM ユーザーを使用している場合は、CodeCommit で必要な AWS KMS アクションを明示的に拒否するユーザーにポリシーがアタッチされていないことを確認します。詳細については、「AWS KMS および暗号化」を参照してください。
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
IAM コンソールのナビゲーションペインで、[Users] (ユーザー) を選択し、続いて、CodeCommit へアクセスするために設定する IAM ユーザーを選択します。
[Permissions (アクセス許可)] タブで、[Add Permissions (アクセス許可の追加)] を選択します。
-
[Grant permissions (アクセス許可の付与)] で、[Attach existing policies directly (既存のポリシーを直接アタッチする)] を選択します。
ポリシーの一覧から、[AWSCodeCommitPowerUser] または CodeCommit アクセスの別の管理ポリシーを選択します。詳細については、「AWS の マネージドポリシー CodeCommit」を参照してください。
アタッチするポリシーを選択したら、[Next: Review] (次へ: 確認) を選択して、IAM ユーザーにアタッチするポリシーのリストを表示します。リストが正しい場合は、[Add permissions (アクセス許可の追加)] を選択します。
CodeCommit 管理ポリシーや、その他のグループおよびユーザーを含むリポジトリへのアクセス共有の詳細については、リポジトリの共有 および AWS CodeCommitの認証とアクセスコントロール を参照してください。
AWS CLI をインストールして設定するには
-
ローカルマシンで、AWS CLI をダウンロードしてインストールします。これは、コマンドラインから CodeCommit とやり取りするための前提条件です。AWS CLI バージョン 2 のインストールが推奨されます。AWS CLI の最新のメジャーバージョンであり、最新の機能をすべてサポートしています。これは、AWS CLI でルートアカウント、フェデレーションアクセス、または一時的な認証情報の使用をサポートする、git-remote-codecommit の唯一のバージョンです。
詳細については、「AWS コマンドラインインターフェイスの設定」を参照してください。
注記
CodeCommit は、AWS CLI バージョン 1.7.38 以降でのみ動作します。ベストプラクティスとして、AWS CLI をインストールするか、利用可能な最新バージョンにアップグレードしてください。インストールした AWS CLI のバージョンを確認するには、aws --version コマンドを実行します。
以前のバージョンの AWS CLI を最新バージョンにアップグレードするには、「AWS Command Line Interface のインストール」を参照してください。
-
このコマンドを使用して、AWS CLI の CodeCommit コマンドがインストールされていることを確認します。
aws codecommit help
このコマンドは、CodeCommit コマンドのリストを返します。
-
次のように AWS CLI コマンドを使用して、プロファイルを使用して configure を設定します。
aws configure
プロンプトが表示されたら、CodeCommit で使用する IAM ユーザーの AWS アクセスキーと AWS シークレットアクセスキーを指定します。また、リポジトリが存在する AWS リージョン (
us-east-2
など) を指定します。デフォルトの出力形式の入力を求められたら、json
を指定します。例えば、IAM ユーザーのプロファイルを設定する場合は、次のようにします。AWS Access Key ID [None]:
Type your IAM user AWS access key ID here, and then press Enter
AWS Secret Access Key [None]:Type your IAM user AWS secret access key here, and then press Enter
Default region name [None]:Type a supported region for CodeCommit here, and then press Enter
Default output format [None]:Type
jsonhere, and then press Enter
AWS CLI で使用するプロファイルの作成および設定の詳細については、以下を参照してください。
別の AWS リージョン に存在するリポジトリまたはリソースに接続するには、そのリージョンのデフォルトのリージョン名を使用して AWS CLI を再設定する必要があります。CodeCommit でサポートされるデフォルトのリージョン名は以下のとおりです。
-
us-east-2
-
us-east-1
-
eu-west-1
-
us-west-2
-
ap-northeast-1
-
ap-southeast-1
-
ap-southeast-2
-
ap-southeast-3
-
me-central-1
-
eu-central-1
-
ap-northeast-2
-
sa-east-1
-
us-west-1
-
eu-west-2
-
ap-south-1
-
ap-south-1
-
ca-central-1
-
us-gov-west-1
-
us-gov-east-1
-
eu-north-1
ap-east-1
me-south-1
cn-north-1
cn-northwest-1
eu-south-1
ap-northeast-3
af-south-1
il-central-1
CodeCommit および AWS リージョン の詳細については、リージョンと Git 接続エンドポイント を参照してください。IAM、アクセスキー、シークレットキーに関する詳細については、認証情報を取得する方法および IAM ユーザーのアクセスキーの管理を参照してください。AWS CLI とプロファイルの詳細については、「名前付きプロファイル」を参照してください。
-
次に、Git をインストールする必要があります。
-
Linux、macOS、Unix の場合:
CodeCommit リポジトリのファイル、コミット、およびその他の情報を使用するには、ローカルマシンに Git をインストールする必要があります。CodeCommit は Git バージョン 1.7.9 以降をサポートしています。Git バージョン 2.28 は、初期コミットのブランチ名の設定をサポートしています。最新バージョンの Git を使用することをお勧めします。
Git をインストールするには、Git のダウンロード
などのウェブサイトをお勧めします。 注記
Git は、定期的に更新されている、発展中のプラットフォームです。機能の変更により、CodeCommit での動作が影響を受ける場合があります。特定のバージョンの Git と CodeCommit で問題が発生した場合は、 の情報を確認してくださいトラブルシューティング
-
Windows の場合:
CodeCommit リポジトリのファイル、コミット、およびその他の情報を使用するには、ローカルマシンに Git をインストールする必要があります。CodeCommit は Git バージョン 1.7.9 以降をサポートしています。Git バージョン 2.28 は、初期コミットのブランチ名の設定をサポートしています。最新バージョンの Git を使用することをお勧めします。
Git をインストールするには、Git for Windows
などのウェブサイトをお勧めします。このリンクを使用して Git をインストールする場合、以下を除くすべてのインストールのデフォルト設定を使用できます。 [Adjusting your PATH environment (PATH 環境の調整)] ステップでプロンプトが表示されたら、[Use Git from the Windows Command Prompt (Windows コマンドプロンプトから Git を使用する)] オプションを選択します。
(オプション) CodeCommit 用の Git 認証情報を設定するのではなく、AWS CLI に含まれている認証情報ヘルパーで HTTPS を使用する予定の場合は、[Configuring extra options] (追加オプションの設定) ページで、[Enable Git Credential Manager] (Git 認証情報マネージャーを有効化) オプションがオフになっていることを確認します。Git 認証情報マネージャーは、IAM ユーザーが Git 認証情報を設定する場合のみ、CodeCommit と互換性があります。詳細については、「Git 認証情報を使用した HTTPS ユーザーのセットアップ」および「Git for Windows: Git for Windows をインストールしましたが、リポジトリへのアクセスが拒否されます (403)」を参照してください。
注記
Git は、定期的に更新されている、発展中のプラットフォームです。機能の変更により、CodeCommit での動作が影響を受ける場合があります。特定のバージョンの Git と CodeCommit で問題が発生した場合は、 の情報を確認してくださいトラブルシューティング
CodeCommit は、HTTPS 認証と SSH 認証の両方をサポートしています。設定を完了するには、CodeCommit に使用する Git 認証情報 (HTTPS、ほとんどのユーザーに推奨)、CodeCommit へのアクセスに使用する SSH キーペア (SSH)、git-remote-codecommit (フェデレーティッドアクセスを使用するユーザーに推奨)、または AWS CLI に含まれる認証情報ヘルパー (HTTPS) を設定する必要があります。
-
サポートされているオペレーティングシステムすべての Git の認証情報については、「ステップ 3: への HTTPS 接続用の Git 認証情報を作成する CodeCommit」を参照してください。
-
Linux、macOS、または UNIX の SSH については、SSH および Linux、macOS、または Unix: Git と CodeCommit 用にパブリックキーとプライベートキーをセットアップする を参照してください。
-
Windows での SSH については、「ステップ 3: Git および CodeCommit 用のパブリックキーとプライベートキーをセットアップする」を参照してください。
-
git-remote-codecommit の場合は、「git-remote-codecommit を使用して AWS CodeCommit への HTTPS 接続をセットアップする手順」を参照してください。
-
Linux、macOS、または Unix の認証情報ヘルパーについては、認証情報ヘルパーを設定する (Linux、macOS、または Unix) を参照してください。
-
Windows での認証情報ヘルパーについては、「認証情報ヘルパーをセットアップする (Windows)」を参照してください。
ステップ 1: CodeCommit リポジトリを作成する
このセクションでは、CodeCommit コンソールを使用して、このチュートリアルの残りの部分で使用する CodeCommit リポジトリを作成します。AWS CLI を使用してリポジトリを作成するには、「リポジトリを作成する (AWS CLI)」を参照してください。
https://console.aws.amazon.com/codesuite/codecommit/home
で CodeCommit コンソールを開きます。 -
リージョンセレクタで、リポジトリを作成する AWS リージョン を選択します。詳細については、「リージョンと Git 接続エンドポイント」を参照してください。
-
[Repositories (リポジトリ)] ページで、[Create repository (リポジトリの作成)] を選択します。
-
[Create repository (リポジトリの作成)] ページの [Repository name (リポジトリ名)] に、リポジトリの名前を入力します。
注記
リポジトリ名では大文字と小文字が区別されます。Amazon Web Services アカウントの名前は、AWS リージョン内で一意である必要があります。
-
(オプション) [Description (説明)] にリポジトリの説明を入力します。この説明は、お客様と他のユーザーがリポジトリの用途を識別するのに役立ちます。
注記
コンソールの説明フィールドに [Markdown] と表示され、すべての HTML 文字とすべての有効な Unicode 文字を使用できます。アプリケーションデベロッパーとして
GetRepository
またはBatchGetRepositories
API を使用していて、ウェブブラウザにレポジトリの説明フィールドを表示させる場合は、CodeCommit API リファレンスを参照してください。 -
(オプション) [Add tag] を選択して 1 つ以上のリポジトリタグ (AWS リソースを整理して管理するのに役立つカスタム属性ラベル) をリポジトリに追加します。詳細については、「でのリポジトリのタグ付け AWS CodeCommit」を参照してください。
-
(オプション) [追加設定] を展開して、このリポジトリ内のデータの暗号化と復号にデフォルトの AWS マネージドキーを使用するか、独自のカスタマーマネージドキーを使用するかを指定します。独自のカスタマーマネージドキーを使用する場合は、リポジトリを作成している AWS リージョンでそのキーが使用可能であることと、キーがアクティブであることを確認する必要があります。詳細については、「AWS Key Management Service と AWS CodeCommit リポジトリの暗号化」を参照してください。
-
(オプション) このリポジトリに Java または Python コードが含まれており、CodeGuru Reviewer で分析する場合は、[Enable Amazon CodeGuru Reviewer for Java and Python] (Java および Python 用に Amazon CodeGuru Reviewer を有効化) を選択します。CodeGuru Reviewer は、複数の機械学習モデルを使用して、コードの欠陥を検出し、プルリクエストの改善と修正を提案します。詳細については、Amazon CodeGuru Reviewer ユーザーガイドを参照してください。
-
[Create] を選択します。
作成されたリポジトリは、[リポジトリ] リストに表示されます。URL 列で、コピーアイコンを選択し、CodeCommit に接続するために使用するプロトコル (SSH または HTTPS) を選択します。URL をコピーします。
例えば、リポジトリの名前を MyClonedRepository
とし、米国東部 (オハイオ) リージョンで HTTPS で Git 認証情報を使用している場合、URL は次のようになります。
https
://git-codecommit.us-east-2.amazonaws.com/MyClonedRepository
この URL は後で ステップ 2: リポジトリのクローンを作成して CodeCommit リポジトリにプッシュする で必要になります。
ステップ 2: リポジトリのクローンを作成して CodeCommit リポジトリにプッシュする
このセクションでは、既存の Git リポジトリのクローン (ローカルリポジトリと呼ばれる) をローカルコンピュータに作成します。次に、ローカルリポジトリの内容を、先ほど作成した CodeCommit リポジトリにプッシュします。
-
ローカルコンピュータのターミナルまたはコマンドプロンプトから、git clone オプションを指定して
--mirror
コマンドを実行し、リモートリポジトリのベアコピーをaws-codecommit-demo
という名前の新しいフォルダにクローンを作成します。これは移行にのみ使用するベアリポジトリです。CodeCommit の移行されたリポジトリとやり取りするためのローカルリポジトリではありません。ローカルリポジトリは、CodeCommit への移行が完了してから作成することができます。次の例では、GitHub (
https://github.com/awslabs/aws-demo-php-simple-app.git
) でホストされたデモアプリケーションを、aws-codecommit-demo
というディレクトリのローカルリポジトリにクローンを作成します。git clone --mirror
https://github.com/awslabs/aws-demo-php-simple-app.git
aws-codecommit-demo
-
クローンを作成したディレクトリに変更します。
cd
aws-codecommit-demo
-
送信先 CodeCommit リポジトリの URL と名前、および git push オプションを指定して、--all コマンドを実行します。(ここで指定するのは「ステップ 1: CodeCommit リポジトリを作成する」でコピーした URL です)。
たとえば、リポジトリに
MyClonedRepository
という名前を付けて HTTPS を使用するように設定されている場合は、次のコマンドを実行します。git push
https
://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository
--all注記
--all オプションは、リポジトリのすべてのブランチをプッシュします。タグのような他の参照をプッシュしません。タグをプッシュする場合は、最初のプッシュが完了するまで待機してから、--tags オプションを使用して、もう一度プッシュします。
git push ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/
MyClonedRepository
--tags詳細については、Git ウェブサイトで Git push
のページを参照してください。大きなリポジトリをプッシュする方法については、特にすべての参照を一度にプッシュする場合 (例えば、--mirror オプションを指定する場合) は、リポジトリの段階的移行 を参照してください。
aws-codecommit-demo
フォルダとそのコンテンツは、CodeCommit にリポジトリを移行した後で削除することができます。すべての正しいリファレンスを使用してローカルリポジトリを作成し、CodeCommit のリポジトリを操作するには、git clone
オプションを指定せず --mirror
コマンドを実行します。
git clone
https
://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository
ステップ 3: CodeCommit でファイルを表示する
ディレクトリの内容をプッシュした後、CodeCommit コンソールを使用して、そのリポジトリ内のすべてのファイルをすばやく表示できます。
-
https://console.aws.amazon.com/codesuite/codecommit/home
で CodeCommit コンソールを開きます。 -
[リポジトリ] で、リポジトリの名前 (例:
MyClonedRepository
) を選択します。 -
ブランチ、クローン URL、設定などのリポジトリ内のファイルを表示します。
ステップ 4: CodeCommit リポジトリを共有する
CodeCommit でリポジトリを作成すると、HTTPS 接続用と SSH 接続用の 2 つのエンドポイントが生成されます。どちらもネットワーク経由で安全な接続を提供します。ユーザーは、いずれかのプロトコルを使用できます。両方のエンドポイントは、どのプロトコルをユーザーに推奨するにしてもアクティブのままです。リポジトリを他のユーザーと共有する前に、リポジトリへのアクセスを他のユーザーに許可する IAM ポリシーを作成する必要があります。これらのアクセス指示をユーザーに提供します。
リポジトリのカスタマー管理ポリシーを作成します。
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
[ダッシュボード] ナビゲーションエリアで、[ポリシー] を選択し、次に [ポリシーの作成] を選択します。
-
[ポリシーの作成] ページで、[Import managed policy (マネージドポリシーのインポート)] を選択します。
-
[Import managed policies (マネージドポリシーのインポート)] ページの [フィルタポリシー] に「
AWSCodeCommitPowerUser
」と入力します。ポリシー名の横にあるボタンを選択し、[インポート] を選択します。 -
[Create policy] (ポリシーの作成) ページで [JSON] を選択します。次に示すように、CodeCommit アクションの
Resource
行の「*」部分を、CodeCommit リポジトリの Amazon リソースネーム (ARN) に置き換えます。"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]
ヒント
CodeCommit リポジトリの ARN を確認するには、CodeCommit コンソールに移動し、リストからリポジトリ名を選択して [Settings] (設定) を選択します。詳細については、「 リポジトリの詳細の表示」を参照してください。
このポリシーに複数のリポジトリを適用するには、リソースに ARN を指定して各リポジトリを追加します。次に示すように、各 Resource ステートメントはカンマで区切ります。
"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]
編集を完了したら、[ポリシーの確認] を選択します。
-
[Review Policy] (ポリシーの確認) ページの [Name] (名前) に、ポリシーの新しい名前 (例えば、
AWSCodeCommitPowerUser-MyDemoRepo
) を入力します。必要に応じて、このポリシーの説明を入力します。 -
[ポリシーの作成] を選択します。
リポジトリへのアクセスを管理するには、リポジトリユーザーの IAM グループを作成し、そのグループに IAM ユーザーを追加します。その後、前のステップで作成したカスタマー管理ポリシーをアタッチします。アクセスに必要なその他のポリシー (IAMUserSSHKeys または IAMSelfManageServiceSpecificCredentials など) をアタッチします。
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/)
を開きます。 -
[ダッシュボード] ナビゲーションエリアで、[グループ] を選択し、次に [Create New Group (新しいグループの作成)] を選択します。
-
[Set Group Name] (グループ名の設定) ページの [Group Name] (グループ名) に、グループの名前 (例:
MyDemoRepoGroup
) を入力し、[Next Step] (次のステップ) を選択します。ここで、グループ名の一部として、リポジトリ名を含めることを検討してください。注記
この名前は、Amazon Web Services アカウント全体で一意である必要があります。
-
前のセクションで作成したカスタマー管理ポリシー (例: AWSCodeCommitPowerUser-MyDemoRepo) の横にあるボックスをオンにします。
-
[Review] ページで、[Create Group] を選択します。IAM は、指定されたポリシーが既にアタッチされた状態でこのグループを作成します。このグループは、アマゾン ウェブ サービスアカウントに関連付けられたグループのリストに表示されます。
-
リストからグループを選択します。
-
グループの概要ページで、[ユーザー] タブを選択し、次に [Add Users to Group (グループにユーザーを追加)] を選択します。アマゾン ウェブ サービスアカウントに関連付けられているすべてのユーザーを示すリスト上で、CodeCommit リポジトリへのアクセスを許可するユーザーの横にあるボックスをオンにして、[Add Users] (ユーザーを追加) を選択します。
ヒント
検索ボックスに名前を入力して、ユーザーをすばやく見つけることができます。
-
ユーザーの追加が完了したら、IAM コンソールを閉じます。
設定したポリシーグループとポリシーを使用して、CodeCommit にアクセスするための IAM ユーザーを作成したら、リポジトリへの接続に必要な情報をそのユーザーに送信します。
-
https://console.aws.amazon.com/codesuite/codecommit/home
で CodeCommit コンソールを開きます。 -
リージョンセレクタで、リポジトリが作成されたAWS リージョン を選択します。リポジトリは、AWS リージョン に固有のものです。詳細については、「リージョンと Git 接続エンドポイント」を参照してください。
-
[リポジトリ] ページで、共有するリポジトリを選択します。
-
[Clone URL] で、ユーザーが使用するプロトコルを選択します。接続プロトコルのクローン URL がコピーされます。
-
AWS CLI インストール、プロファイルの設定、Git のインストールなどのその他の手順と合わせて、このクローン URL をユーザーに送信します。接続プロトコルの設定情報を含めるようにしてください (HTTPS など)。