2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GithubからCodeCommitにお引越しする

2
Posted at

本当に今更感がありますが、AWS CodeCommitが復活したようですね。
「AWS純正のリポジトリが無いからここだけはGithubなんだよなぁ…ちょっと不便だよなぁ…」と思っていたので、すごく朗報です。ありがとうAWS様!

CodeCommit は新規のお客様にも再び開放されます – 本日より新規のお客様のサインアップが可能になります。新しいアカウントのオンボーディングやリポジトリの作成をお待ちいただいていた場合は、AWS コンソール、CLI、または API を通じて今すぐ実行できます。

今回は、GithubのリポジトリをAWSのCodeCommitに移行する手順をまとめておこうと思います。

移行元になるGithubリポジトリ

Privateで作成しているリポジトリを今回は使用します。

image.png

このリポジトリはAWS Amplifyで使っているリポジトリになります。
今まではGithubを使っていましたが、これをAWS CodeCommitに変えたいと思います。

環境イメージ

GithubにあるリポジトリをCodeCommitに引っ越します。
Githubのリポジトリのミラーをローカルに作成して、それをCodeCommitにpushします。
AmplifyはGithubと連携しているものではなく、CodeCommitと連携するものを新規で作成します。
※AmplifyのURLが変わりますが、今回は目をつむります。独自ドメインでもないですし。

aws04-ページ18のコピー.drawio.png

構築

CodeCommitリポジトリの作成と、専用のユーザ及び認証情報を作成する

CodeCommitの管理画面を開き、リポジトリからリポジトリを作成を押下します。

image.png

リポジトリの名前:CodeCommitSentimentRepo
として作成していきます。
screencapture-ap-northeast-1-console-aws-amazon-codesuite-codecommit-repository-create-2026-02-28-17_10_42.png

作成することが出来ました。
※これを作成しているタイミングではRootアカウント(良くないけどプライベート環境なので)なので以下の注意書きが出ていますね。これに対応します。

ルートアカウントを使用してサインインしている場合。ルートアカウントには SSH 接続を設定できません。ルートアカウントに HTTPS 接続を使用することは推奨されません。IAM ユーザーとしてサインインし、接続をセットアップすることを検討します。

image.png

IAMでユーザを作成していきます。
image.png

任意の名前を指定して、マネジメントコンソールのアクセスを許可します。
screencapture-us-east-1-console-aws-amazon-iam-home-2026-02-28-17_13_59.png

Policyは雑ですが、AdministratorAccessにしておきます。
この後作成してcsvが出力されますので、控えます。
image.png

PolicyはAWSCodeCommitPowerUserがあれば良さそうに見えますね。
権限を絞る場合はこちらが良さそうです。

Rootアカウントをサインアウトして、作成したユーザでログインします。
image.png

先ほど作成したCodeCommitのリポジトリにアクセスすると、このリポジトリに接続するステップが表示されていることがわかります。
私の環境では、GitコマンドはGithubにpushしたりpullしたりで既にローカルPCにインストールされているので対応不要です。
その次のGit認証情報というものが必要そうです。
001.png

IAMに改めて移動します。
作成したユーザのセキュリティ認証情報タブを下の方にスクロールすると、AWS CodeCommitのHTTPS Git認証情報というものがあります。生成を押下します。
image.png

ユーザ名とパスワードが出力されますので、これを控えましょう。
ダウンロードします。
002.png

Githubリポジトリをミラークローンする

ローカルPCでGithubのリポジトリをミラーリングオプション付きでクローンしていきます。
以下のコマンドをgithubを操作しているフォルダとは別のフォルダで実行してください。

git clone --mirror https://oauth2:<トークン>@github.com/<ユーザー名>/<リポジトリ名>.git

今回実際に実行したコマンドは以下です。
Windows11上でPowershellを起動して実行しています。

PS C:\Users\ohtsu> cd C:\Users\ohtsu\Documents\AWS
PS C:\Users\ohtsu\Documents\AWS> git clone --mirror https://oauth2:<トークン>@github.com/ohtsuka-shota/SentimentRepo.git
Cloning into bare repository 'SentimentRepo.git'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (48/48), done.
Receiving objects: 100% (67/67), 107.71 KiB | 4.49 MiB/s, done.0 (from 0)Receiving objects: 100% (67/67)

Resolving deltas: 100% (30/30), done.

explorerで確認すると確かにSentimentRepo.gitというフォルダがあることがわかります。
003.png

ミラーリング対象のリポジトリがPrivateではなく、Publicである場合は以下のコマンドで問題ありません。
認証tokenをコマンドに埋め込まずともミラーリングが可能です。

PS C:\Users\ohtsu> cd C:\Users\ohtsu\Documents\AWS
PS C:\Users\ohtsu\Documents\AWS> git clone --mirror https://github.com/ohtsuka-shota/SentimentRepo.git
Cloning into bare repository 'app.git'...
remote: Enumerating objects: 39, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (27/27), done.
Receiving objects: 100% (39/39), 39.05 KiB | 9.76 MiB/s, done. (from 0)

Resolving deltas: 100% (9/9), done.

CodeCommitにpush

GithubからミラーリングしたものをCodeCommitにpushします。
ミラーリングしたフォルダに移動して、git pushコマンドを実行します。
httpsのURLはCodeCommitのリポジトリに記載されています。

PS C:\Users\ohtsu\Documents\AWS> cd .\SentimentRepo.git\
PS C:\Users\ohtsu\Documents\AWS\SentimentRepo.git> git push --mirror <CodeCommitのHTTPS URL>

初めてpushする場合、認証を求められます。
ここで入力するユーザ名とパスワードはAWS CodeCommitのHTTPS Git認証情報になります。
IAMユーザのものではないです。
005.png

認証後、以下のような出力が出ていればOKです。

Enumerating objects: 67, done.
Counting objects: 100% (67/67), done.
Delta compression using up to 20 threads
Compressing objects: 100% (50/50), done.
Writing objects: 100% (67/67), 123.64 KiB | 12.36 MiB/s, done.
Total 67 (delta 30), reused 35 (delta 14), pack-reused 0
remote: Validating objects: 100%
 * [new branch]      main -> main
 * [new reference]   origin/HEAD -> origin/HEAD
 * [new reference]   origin/main -> origin/main

CodeCommitでも、push出来たことがわかります。
image.png

CodeCommitとAmplifyを紐づけてWebアプリをデプロイする

Amplifyで新しいアプリを作成していきます。
※既存のものをGithubからCodeCommitに差し替えることも考えたのですが、新しくAmplifyをデプロイします。

CodeCommitを選択して次に進みます。
image.png

今回作成したCodeCommitを選択します。
次へを押下します。
image.png

デフォルトの設定で次に進みます。
screencapture-ap-northeast-1-console-aws-amazon-amplify-create-app-settings-2026-02-28-18_16_52.png

デプロイしていきます。
screencapture-ap-northeast-1-console-aws-amazon-amplify-create-review-2026-02-28-18_20_38.png

デプロイが開始されました。
image.png
image.png

Amplifyで環境変数やバックエンドでAPI Gatewayを使用している場合、そのあたりは手動でお引越し前のAmplifyから情報を持ってきて埋め込みます。
006.png
007.png

そんなこんなをしているうちにデプロイが完了したかと思います。
環境変数を改めて認識させるために、このバージョンを再デプロイを押下して読み込ませます。
image.png

再デプロイが走り出しました。
image.png

問題なくデプロイできると思います。
image.png

簡単に動作確認をしましょう。移行は問題なさそうです。
image.png

ローカルに開発環境を用意する。

GithubからCodeCommitに環境移行は出来ましたが、ローカルPCに開発する環境は出来ておりません。
CodeCommitからgit cloneをしていきましょう。

CodeCommitのリポジトリのURLのクローンからHTTPSのクローンを押下します。
これを押下するとgit clone用のURLをコピーできます。
image.png

ローカルPCでコマンドを実行します。
開発環境用のフォルダが生成されます。

PS C:\Users\ohtsu\Documents\AWS\SentimentRepo.git> cd ..
PS C:\Users\ohtsu\Documents\AWS> cd .\codecommit\
PS C:\Users\ohtsu\Documents\AWS\codecommit> git clone <コピーされているURL>
Cloning into 'CodeCommitSentimentRepo'...
remote: Counting objects: 67, done.
Unpacking objects: 100% (67/67), 98.47 KiB | 509.00 KiB/s, done.
PS C:\Users\ohtsu\Documents\AWS\codecommit> dir


    ディレクトリ: C:\Users\ohtsu\Documents\AWS\codecommit


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2026/02/28     19:14                CodeCommitSentimentRepo

VSCodeなりAntigravityなりでフォルダを開きましょう。
用意が出来ました。
image.png

適当にコードを修正して、Githubにpushするようにpushします。
出力結果的に問題なさそうです。

PS C:\Users\ohtsu\Documents\AWS\codecommit\CodeCommitSentimentRepo> git add .
PS C:\Users\ohtsu\Documents\AWS\codecommit\CodeCommitSentimentRepo> git commit -m "move CodeCommit" 
[main b3a4a34] move CodeCommit
 1 file changed, 1 insertion(+), 1 deletion(-)
PS C:\Users\ohtsu\Documents\AWS\codecommit\CodeCommitSentimentRepo> git push origin main
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 20 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 434 bytes | 434.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0), pack-reused 0
remote: Validating objects: 100%
To https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/CodeCommitSentimentRepo
   0ce9ebd..b3a4a34  main -> main

Amplifyの画面からも自動でデプロイが開始されるかと思います。
image.png
image.png

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?