AWSコラム

AWSエンジニアのためのブログメディア

AWS CodeCommitとは?CodeCommitの利点や使い方について紹介!

2021年07月13日

「AWSCodeCommit」とその使い方とは?


「AWS CodeCommit」とは、ソースコードやドキュメント等の成果物をAWS上のプライベートな「Gitリポジトリ」にホスティング(※ユーザのデータを預かって管理すること)のサービスです。

また「AWS CodeCommit」は、これら成果物のバージョンを管理することもできます。

「AWS CodeCommit」の概要や使い方、関連の技術について解説していきます。

「Git」とは?

「Git」とは、ソースコードや設計書等のドキュメントの変更履歴を記録して管理する、オープンソースの分散型バージョン管理システムです。

当初は「Linux OS」を開発するチームで使用されていましたが、次第に世界中のエンジニアの間に広がっていきました。

「Git」の主な特徴は、「分散型」のバージョン管理システムである点です。つまり、ローカルPC環境がリポジトリ(データの貯蔵場所)となり、変更履歴等のすべてのデータの複製が作成されます。

「Git」の仕組みを利用したWebサービスとしては、「GitHub」、「Bitbucket」等が有名です。

「AWS CodeCommit」も、「GitHub」と同様に「Git」の仕組みを利用したサービスで、使い方も類似しています。

「AWS CodeCommit」の対象ユーザとは?

「AWS CodeCommit」の対象ユーザは、主にソフトウェア開発者です。

「AWS CodeCommit」は、プログラミングで作成したソースコードの保存やバージョン管理のために、セキュアで信頼性が高いサービスとして設計されているためです。

またAWS特有の完全マネージド型サービスなので、Gitをホスティングするサーバを構築する必要がありません。

「AWS CodeCommit」と「GitHub」等との違いとは?

「AWS CodeCommit」と「GitHub」等のGitベースのバージョン管理システムとの違いとは、完全マネージド型サービスなので、リポジトリ用のホスティングサーバーの構築や運用管理が不要です。

また「AWS CodeCommit」は、「AWS Identity and Access Management(IAM)」と連携しているので、ユーザ毎にリポジトリのアクセス権を柔軟に設定できます。

なお「AWS Identity and Access Management(IAM)」とは、AWS上のリソースへのアクセス権限をセキュアに管理するためのAWSサービスです。

「AWS CodeCommit」の利点について


「AWS CodeCommit」の利点としては、一般的なクラウドサービスに関するものだけではなく、AWSサービス特有のもの等があります。

こういった「AWS CodeCommit」の利点について、詳細に解説していきます。

「AWS CodeCommit」の利点1:高いセキュリティ

「AWS CodeCommit」の利点1として、高いセキュリティが確保されている点です。

具体的には「AWS CodeCommit」のリポジトリと通信中のファイルが、自動的に暗号化によって保護されています。

「AWS CodeCommit」の利点2:高可用性

「AWS CodeCommit」の利点2として、高可用性があります。

具体的には「AWS CodeCommit」は、Gitリポジトリ操作に関して高可用性が維持されるようにスケーラブルなアーキテクチャで構成されているため、高い耐久性と処理の冗長性を有しています。

「AWS CodeCommit」の利点3:コラボレーション

「AWS CodeCommit」の利点3として、エンジニア間での開発のコラボレーションができる点です。

つまり「AWS CodeCommit」は、Gitのプルリクエスト、マージや分岐によって、チーム内のエンジニアとの開発のコラボレーションをサポートしています。

特に、コードレビュー等のソフトウェア開発の一般的なワークフローをデフォルトで用意されており、Gitの特別な操作を一部ユーザに限定することも可能です。

「AWS CodeCommit」の利点4:迅速な開発ライフサイクル

「AWS CodeCommit」の利点4として、開発ライフサイクルが迅速に行える点です。

具体的には「AWS CodeCommit」によって、ソースコード全体ではなく、更新したバージョンのソースコードのみを移行することで、開発ライフサイクルに関して、速度と頻度が向上します。

また開発フェーズが進むにつれて、ステージング環境やプロダクション環境とリポジトリのやり取りの頻度が高まりますが、これを円滑にサポートしてくれます。

「AWS CodeCommit」の利点5:既存Gitツールの活用

「AWS CodeCommit」の利点5として、既存のGitツールをそのまま活用できる点です。

「AWS CodeCommit」は、Gitベースのシステムなので、Gitの操作コマンドをサポートしており、既存のGitクライアントツールも利用可能です。

つまり統合開発環境Eclipseのプラグイン、Jenkins等の継続的デリバリーシステム、一般的なGitのGUIクライアントツールといった今まで使い慣れたツール類を「AWS CodeCommit」と連携して使用できます。

「AWS CodeCommit」の使い方


「AWS CodeCommit」の使い方について、Gitリポジトリの操作から解説していきます。

なおGitオブジェクトは「Amazon S3」で、Gitインデックスは「Amazon DynamoDB」で管理されています。

また暗号化キーについては、「AWS KMS」で管理されています。

「AWS CodeCommit」の使い方1:Gitリポジトリの作成

「AWS CodeCommit」の使い方1として、Gitリポジトリを最初に作成します。

Gitリポジトリを作成するツールとしては、「AWS Command Line Interface(CLI)」、「AWS CodeCoomit コンソール」を利用します。

特に、「AWS AWS Command Line Interface(CLI)」の場合は、以下のようなコマンドを実行することで、リポジトリを作成できます。

「AWS CodeCommit」の使い方2:クローン作成

「AWS CodeCommit」の使い方2として、Gitリポジトリのクローンを作成します。

具体的には、開発PCから「git clone」コマンドで特定のリポジトリ名を指定し、クラウド上に作成した「AWS CodeCommit」リポジトリのクローンをローカルリポジトリに複製します。

「AWS CodeCommit」の使い方3:ソースコードの編集とコミット

「AWS CodeCommit」の使い方3として、ソースコードを編集し、リポジトリにコミットします。

具体的には、開発PC上のローカルレポジトリに含まれるソースコード等を編集し、「git add(ファイルを登録する)」、「git commit(ファイルをコミットする)」、「git push(ファイルをクラウド上のリポジトリに送る)」の順にコマンドを実行することで、「AWS CodeCommit」リポジトリに変更を送信することができます。

「AWS CodeCommit」の使い方4:ソースコードの最新化

「AWS CodeCommit」の使い方4として、ソースコードを最新化します。

具体的には、他のエンジニアによるリポジトリの変更をダウンロードするために、「git pull」コマンドを実行します。これにより「AWS CodeCommit」リポジトリとローカルリポジトリを同期します。

この同期によって、最新バージョンのファイルで作業していることを担保することができます。

「AWS CodeCommit」の使い方5:コミット履歴の表示

「AWS CodeCommit」の使い方5として、コミット履歴を表示します。

具体的には、「AWS CodeCommit」コンソール画面で、リポジトリのコミット履歴を表
示させて確認します。

直前のコミットとの差分を比較(スプリット表示または統合表示が可能)したり、コミット履歴のユーザ名に選択するとEメールアドレスが表示されたりします。

なお「git rebase」コマンドでリベース(履歴の改変)を行った場合は、リポジトリの履歴が変更されるので注意が必要です。

「AWS CodeCommit」の習得と活用について


「AWS CodeCommit」の使い方に加えて、概要、利点や関連の技術について解説してきました。

AWS上のサービスを開発する際でも、GitHub等の外部のホスティングサービスを利用することが多いですが、AWSの他サービスとの連携がスムーズに行えるため、「AWS CodeCommit」の使い方を習得して、自社サービスへの活用を検討してみてはいかがでしょうか。


AWS分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)
FEnetからご応募→夢テクノロジー入社でお祝い金最大120万円プレゼント

Search

Popular

reccomended

Categories

Tags