Tạo Repository với CodeCommit

AWS - CodeCommit

Lời nói đầu:

Nói đến quản lý Version hay Repository, mọi người thường nghĩ đến Github - GitLab - BitBucket - Những ông lớn trong ngành công nghệ. Những ông lớn này cung cấp, trang bị cho người phát triển tận răng từ phần mềm Client để quản lý Repository dễ dàng, đến CI/CD, code generator - tự động tạo code theo yêu cầu, code review...

Tuy nhiên, khi thực hiện dự án sẽ không phù hợp khi quản lý source-code của khách hàng do vấn đề về Security. Nếu muốn sử dụng cũng cần có văn bản, quy định hợp đồng sử dụng dịch vụ đối với khách hàng lẫn bên cung cấp dịch vụ. Bên cạnh đó, việc upload source-code lên những dịch vụ này là hoàn toàn cấm kị trong việc quản lý Security.

Để tránh phạm phải vấn đề về Security, người quản lý dự án thường phải tạo Private Git Server để quản lý có sử dụng những bộ Git Server Opensource. Việc này dẫn nhiều vấn đề khi phải maintain, update cũng như không tránh khỏi những lỗ hổng về bảo mật.

Đối với vấn đề này, AWS đã cung cấp cho người dụng tạo Private Git Repository với tính năng bảo mật cao, tự động quản lý - mở rộng là AWS CodeCommit.

Truy cập vào AWS CodeCommit :

Để tạo CodeCommit Repository, người dung cần có AWS Account. Sau khi tạo AWS Account, người dùng có thể truy cập bằng cách nhập từ khóa "CodeCommit" vào thanh công cụ tìm kiếm.

AWS CodeCommit

Tạo Repository :

Tại màn hình AWS Commit, click vào phần "Source", chọn "Repositories" để mở màn hình quản lý Repositories và chọn "Create Repository" để tạo mới Repository.

Tại màn hình "Create repository", đặt tên cho Repository tại "Repository name" và thêm phần mô tả của Repository tại "Description". Nếu muốn sử dụng thêm dịch vụ Review Code của AWS là Amazon CodeGuru cho Java và Python thì thêm dấu chọn vào ô "Enable Amazon CodeGuru Reviewd for Java and Python". Nhấn "Create" để tạo Repository.

Thao tác với AWS CodeCommit

Có hai cách thường dùng để thao tác với AWS Code Commit là tạo HTTPS Git Credentials và đăng kí SSH Key vào AWS CodeCommit để sử dụng tại màn hình IAM của User.

Tạo tài khoản để dùng với CodeCommit

Tạo "HTTPS Git credentials for AWS CodeCommit" tại màn hình IAM của tài khoản cần được cấp:

Tạo SSH Public Key và Private Key cho AWS Code Commit Repository

  • Tạo SSH key cho AWS Commit Repository
    • Truy cập vào AWS CloudShell qua Menu của AWS
    • Thực thi lệnh lệnh tạo private-key và public-key : $ ssh-keygen -t rsa -b 4096
    • Thực thi lệnh liệt kê file : $ ls -l
    • Dùng chức năng "Download file" của CloudShell download key vừa được tạo.
  • Đăng kí Public Key được tạo thông qua tài khoản sử dụng tại màn hình Console của IAM
  • Mở file Public Key bằng Text Editor, copy nội dung và paste vào đây.
  • Bấm "Upload SSH public Key" để hoàn thành.
  • Sau khi hoàn tất trên màn hình sẽ xuất hiện SSH key ID, memo lại SSH key ID này.
  • Tại môi trường Local, tạo thư mục tại "~/.ssh" bằng Git Bash(Windows), Shell (Linux), Terminal (Mac).
  • Đặt Private Key vào thư mục và tạo file có tên là "config" (không đuổi mở rộng) với nội dung:
Host git-codecommit.*.amazonaws.com
User <IAM-SSH-Key-ID>
IdentityFile ~/.ssh/<Private-Key-File-Name>
  • Mở thư mục hiện hành bằng Git Bash (Windows), Shell (Linux), Terminal (Mac) thực hiện set lại quyền truy cập vào file với lệnh : $chmod 600 config

Đẩy source code lên CodeCommit :

  • Cài đặt thông tin user và email cho local git-user
    • Cài đặt user : $ git config --global user.name "[name]"
    • Cài đăt email : $ git config --global user.email "[email address]"
  • Tại thư mục chứa source thực thi lệnh dưới đây để đẩy code lên CodeCommit
    • Khởi tạo local Git repository : $ git init
    • Cài đặt kết nối local Git repository với CodeCommit repository : $ git remote add origin [url]
      • url : link của AWS CodeCommit repository
    • Thêm toàn bộ file có trong thư mục vào danh sách chuẩn bị đẩy lên Git
      • $ git add *
    • Tạo commit để đẩy lên git
      • $ git commit -m "first commit"
    • Thực hiện đẩy source lên CodeCommit repository
      • $ git push
    • Thực hiện nhập thông tin tài khoản giành cho CodeCommit đã tạo tại IAM trong trường hợp cài đặt HTTPS Credential cho CodeCommit.

Tham khảo :

  1. AWS CodeCommit Document
  2. Cài đặt cho AWS Code Commit
  3. Làm việc với AWS Code Commit

Leave a Reply