GitとAWS Codecommitについて

GitとAWS Codecommitについて

本記事では「GitやCodecommitなど、色々話は聞くけどイマイチどういうものかわからない…」という方向けにそれぞれのツールがどういったツールなのかを紹介させていただいた上で、導入した結果生まれるメリットなどについて説明させていただきます。

Gitとは?

Gitはシステム開発などのプロジェクトを進めていく上で、チーム内でプログラムに加えた変更を記録・追跡することで変更履歴を管理することが出来る分散型バージョン管理システムのことです。個人による開発の際にも、プログラムのバックアップ等をGitを用いて管理することでクリティカルなミスを防ぐことが出来る、エラーの対処を迅速に行うことが出来る、といったメリットがあります。GithubはGitの開発者向けのプラットフォームのリポジトリサービスで、オンラインでプログラムのソースコードなどをホスティングすることが出来ます。Gitと共に有名なシステムで、頻繁に使用している方も多いです。

Gitの詳細について

もう少しGitの具体的な部分について話をさせて頂きます。Gitでは「リモート」という共有ファイル置き場を利用してチーム間でプログラムのソースコードといったファイルの共有を行います。Gitのコマンドとしてinitコマンドを実行しGitの初期化を行った上で、addコマンドを用いて共有するファイルの選択を行います。選択を行った後はcommitコマンドを用いて選択したファイルの記録を行います。この際に-mオプションを用いて、どのような変更を加えたのか、いつだれが変更を加えたのか、といった情報をメッセージで残すことが出来ます。ファイルの記録を行った後はpushコマンドを用いてリモートに選択・記録したファイルをアップロードします。Gitのユーザーはpullコマンドを用いてリモートにアップロードされているファイルをダウンロードすることが可能です。その他にもsatusコマンドやdiffコマンド、logコマンドを用いることで自分が変更を加えたファイルの確認や加えた変更点の確認から、Gitに加えられた変更を確認することが出来るため、共同開発を行う際には非常に強いツールとなります。

AWS Codecommitについて

AWS Codecommitとはその名の表す通り、Amazon Web Servicesが提供するフルマネージド型のGitのリポジトリサービスです。リポジトリサービスというのは、開発の各工程で作成された成果物を管理することが出来るサービスです。リポジトリ、というのがそもそも各工程で作成された成果物などを一時的に保存・管理しておく場所のことを指します。プログラムのバージョン管理を行う場合は、「そもそもリポジトリをどこに置くのか?」「リポジトリの置き場所は?クラウドを自前で構築するのか?Githubなどを用いて外部にホスティングする?」「外部にホスティングする場合はその管理はどうするのか?セキュリティや安全性は何をもって担保するのか?」といった諸々の問題点が生じます。AWS Codecommitはフルマネージド型のリポジトリサービスですので、Amazon Web Servicesがリポジトリの管理を行い、可用性の高いリポジトリを提供してくれます。

AWS Codecommitを用いてGitリポジトリを利用する際の注意点

ここからは具体的なAWS Codecommitの使い方になります。AWS Codecommitを用いてGitリポジトリを利用することが可能です。まず初めに、AWS Codecommitを利用するためにはAWS IAM( Identity and Access Management )の利用が不可欠です。Gitリポジトリのアクセス管理もIAMを用いて行われるためIAMユーザーの作成が必要になります。AWS CodecommitからGitへ接続する接続方法にはSSHとHTTPSの2つの方法があります。SSHかHTTPSかの違いは通信速度、セキュリティの強度などをプロジェクトに合わせて比較し、どちらの通信方法にするかを決めます。その後、公開鍵やアクセスキー/シークレットキーなどの設定を行い実際に接続を行います。ここまでの説明をお読みいただくとAWS Codecommitは利点が多く、欠点など無いようにも思えますが、アクセスを制限する都合上Githubで最近見直されているソーシャルコーディングに向かないといった欠点や、Githubからの移行を行うとGithub専門のツールなどが使えなくなる可能性がある、といった欠点がります。今なお更新は行われているためここに挙げた欠点は改善される可能性が大いにありますが、既に使用しているバージョン管理システムが存在する場合は問題なく移行が行えるかどうかを十分に検討して移行を行う必要があります。しかし、他のAmazon Web Servicesのサービスを利用している場合、AWS Codecommitを利用すれば他のサービスと非常に連携が良く効果的であるため、導入を検討する価値が十分あります。

終わりに

ここまでお読みいただきありがとうございます。いかがだったでしょうか。今回の記事ではGitとAWS Codecommitの紹介をさせていただきました。バージョン管理システムは共同開発を行う上で非常に重要なシステムとなります。お使いになる環境に最も適したシステムを選択し、業務を効率化していきましょう!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です