翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ローカルまたはバージョン管理対象外のコンテンツを に移行するAWS CodeCommit
このトピックの手順では、コンピュータ上の既存のプロジェクトまたはローカルのコンテンツを CodeCommit リポジトリに移行する方法について説明します。このプロセスの一環として、次の作業を行います。
-
CodeCommit に必要な初期セットアップを完了します。
-
CodeCommit リポジトリを作成します。
-
Git のバージョン管理対象になるローカルフォルダを配置し、そのフォルダの内容を 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 に含まれる認証情報ヘルパーを設定する必要があります。
-
サポートされているオペレーティングシステムすべての 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 に接続するために使用するプロトコル (HTTPS または SSH) を選択します。URL をコピーします。
たとえば、リポジトリの名前を MyFirstRepo
とし、HTTPS を使用している場合、URL は以下のようになります。
https://git-codecommit.us-east-2.amazonaws.com/v1/repos/
MyFirstRepo
この URL は後で ステップ 2: ローカルコンテンツを CodeCommit リポジトリに移行する で必要になります。
ステップ 2: ローカルコンテンツを CodeCommit リポジトリに移行する
CodeCommit リポジトリを作成したので、ローカルコンピュータで Git リポジトリに変換するディレクトリを選択できます。git init コマンドは、既存のバージョン管理対象外のコンテンツを Git リポジトリに変換したり、ファイルやコンテンツがまだない場合は、新しい空のリポジトリを初期化したりするために使用できます。
-
ローカルコンピュータでターミナルまたはコマンドラインから、リポジトリのソースとして使用するディレクトリに移動します。
-
次のコマンドを実行して、
main
という名前のデフォルトのブランチを使用するように Git を設定します。git config --local init.defaultBranch main
このコマンドを実行して、新しく作成されたすべてのリポジトリについて、デフォルトのブランチ名を
main
に設定することもできます。git config --global init.defaultBranch main
-
git init コマンドを実行して、そのディレクトリで Git バージョン管理を初期化します。これにより、そのディレクトリのルートに .git サブディレクトリが作成され、バージョン管理の追跡が有効になります。.git フォルダには、リポジトリに必要なすべてのメタデータも含まれます。
git init
-
次のコマンドを実行して、初期化されたディレクトリのステータスを確認します。
git status
バージョン管理の対象にするファイルを追加します。このチュートリアルでは、
git add
指定子を付けて.
コマンドを実行し、すべてのファイルをこのディレクトリに追加します。他のオプションについては、Git のドキュメントを参照してください。git add .
-
追加されたファイルのコミットとコミットメッセージを作成します。
git commit -m "Initial commit"
-
送信先 CodeCommit リポジトリの URL と名前、および git push オプションを指定して、
--all
コマンドを実行します。(ここで指定するのは、「ステップ 1: CodeCommit リポジトリを作成する」でコピーした URL です)。たとえば、リポジトリに
MyFirstRepo
という名前を付け、HTTPS を使用するように設定している場合は、以下のコマンドを実行します。git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/
MyFirstRepo
--all
ステップ 3: CodeCommit でファイルを表示する
ディレクトリの内容をプッシュした後、CodeCommit コンソールを使用して、そのリポジトリ内のすべてのファイルをすばやく表示できます。
-
https://console.aws.amazon.com/codesuite/codecommit/home
で CodeCommit コンソールを開きます。 -
[リポジトリ] で、リストからリポジトリの名前 (例:
MyFirstRepository
) を選択します。 -
ブランチ、クローン 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 ユーザーを追加します。その後、前のステップで作成したカスタマー管理ポリシーをアタッチします。アクセスに必要なポリシー (IAMSelfManageServiceSpecificCredentials
または IAMUserSSHKeys
) をアタッチします。
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 など)。