IaaS/퍼블릭클라우드

(AWS) Code-Commit이란?

armyost 2021. 12. 27. 06:31
728x90

Git이 무엇인지는 알고 있을거라고 생각한다. 

 

Git 의 역할은 

- 여러 개발자가 협력할수 있게 하는

- 어딘가에 확실히 소스코드가 백업 됨을 인지시켜주고

- 완전히 모니터링(관찰, 감시) 할 수 있도록 확신을 준다.

 

AWS 의 Code Commit은 어떤 특징이 있을까?

- Private Git repository

- Repository에 size limit이 없다

- 완전한 관리형, HA를 제공해준다

- Code Only 타입으로 AWS Account에서 생성하여 보안이 향상됨

- Encrypted, Access control 등 보안이 뛰어남

- 다른 CI툴과 연동

 

기본적인 Code Commit 사용법

1) [CodeCommit]-[Repository]로 접속한다. 

2) 리포지토리 생성 버튼을 클릭하고 이름을 입력한 후 생성한다.

3) 해당 리포지토리를 접속하기 위해서는 계정을 생성해야한다. 

- [IAM]-[User] 접속

- User add를 클릭하고 "프로그래밍 방식엑세스", "AWS Management Console 권한"을 체크후 생성한다.

- 그리고 적절한 권한을 부여한다.(책에서는 Administrator를 이야기 하고 있으나 너무 큰 권한이라 위험하다. 반드시 최소권한으로..)

- 그리고 IAM유저를 클릭하여 방금 만든 계정을 들어가면 Access Keys라는 섹션이 있고, HTTPS Git credentials for AWS CodeCommit이라는 섹션이 있다. 여기서 Git Access UserName과 Password를 복사하자.

 

4) 다시 CodeCommit을 접속해 URL복제-HTTPS방식을 클릭하여 Git 리파지토리에 대한 URL을 복사한다.

5) Git 유틸이 설치된 작업콘솔을 들어가 아래의 커맨들 라인으로 Clone을 한다.

$ git clone "https://git-codecommit.ap-northeast-2.amazonaws.com/v1/repos/my-webpage-jpkim"

 ※ ID와 Password를 요구하면 3)에서 획득한 계정 정보를 입력한다. 

 

6) 작업콘솔에서 이제 소스코드 작업을 한다. 

 

7) 소스코드 작성이 일단락 되면 Clone한 프로젝트 루트디렉토리로 이동한다.

$ cd /project/my-webpage-jpkim

 

8) 소크코드를 아래 커맨드로 push까지 진행한다. 

$ git status
$ git add . #모든 소스 push를 원할때
$ git status #변경사항 확인
$ git commit -m "first commit" #커밋 메시지 입력
$ git push

 

추가 수정하기

 

1) First Commit한 소스코드를 수정한다.

2) 작업콘솔에서 git명령어를 통해 확인하고 push 까지 진행한다.

$git status
$git add index.html
$git commit -m "Second Commit"
$git push

3) 그러면 CodeCommit에서 새로운 Commit이 있음을 알 수 있다. 

 

 

브랜치 사용하기

master로 계속작업을 하게 되면 개발자들간의 충돌이 발생할 수 있다. 각기 다른 프로젝트를 진행해야 하기도해서..

이럴때는 브랜치를 사용한다.

 

1) 작업콘솔에서 소스코드를 변경한다.

2) 아래 커맨드로 my-feature 브랜치를 만들고 my-feature 브랜치에 push 한다.

$ git checkout -b my-feature
$ git status
$ git add .
$ git push
fatal: the current branch my-feature has no upstream branch.
to push the current branch and set the remote as upstream, use
	git push --set-upstream origin my-feature
$ git push --set-upstream origin my-feature

3) CodeCommit에서 브랜치를 클릭하면 추가되었음을 알 수 있다. 

 

브랜치를 Merge하기

1) CodeCommit은 친절하게 UI에서 Merge를 제공한다. 

2) CodeCommit의 Pull Request 메뉴를 접속

3) Destination에 "Master" Source에 "my-feature"를 선택하고 Compare버튼을 누르면 충돌감지를 한다. 

※ Pull Request란 모든 개발자들에게 앞으로 Merge가 일어날 것이라는 안내, 혹시 특이사항이 있다면 피드백을 바라는 차원에서 등록하는 것이다.

4) 동의가 끝나면 Pull Request로 다시 들어가 Merge를 진행한다.

5) Fast Forward Merge를 진행하고 기존 Feature는 삭제토록 한다.