신규 고객은 더 이상 AWS Cloud9를 사용할 수 없습니다. AWS Cloud9의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기
AWS Cloud9용 AWS CodeCommit 자습서
AWS CodeCommit 자습서를 사용하면 AWS Cloud9 개발 환경을 설치하여 CodeCommit의 원격 코드 리포지토리와 상호 작용할 수 있습니다. CodeCommit은 AWS 클라우드에 Git 리포지토리를 비공개로 저장하고 관리하는 데 사용할 수 있는 소스 코드 제어 서비스입니다. CodeCommit에 대한 자세한 내용은 AWS CodeCommit 사용 설명서를 참조하세요.
이 자습서를 따르고 이 샘플을 생성하면 AWS 계정에 요금이 발생할 수 있습니다. 여기에는 Amazon EC2 및 CodeCommit 같은 서비스에 대한 발생할 수 있는 요금이 포함됩니다. 자세한 내용은 Amazon EC2 요금
사전 조건
이 샘플을 사용하기 전에 설정이 다음 요구 사항을 충족하는지 확인하세요.
-
기존 AWS Cloud9 EC2 개발 환경이 있어야 합니다. 이 샘플에서는 Amazon Linux 또는 Ubuntu 서버를 실행 중인 Amazon EC2 인스턴스에 연결된 EC2 환경이 이미 있다고 가정합니다. 다른 환경 또는 운영 시스템이라면 이 샘플 지침을 관련 도구를 설치하는 데에 적용해야 합니다. 자세한 내용은 AWS Cloud9에서 환경 생성 단원을 참조하십시오.
-
기존 환경에 대한 AWS Cloud9 IDE가 이미 열려 있습니다. 환경을 열 때 AWS Cloud9은 웹 브라우저에서 환경을 위한 IDE를 엽니다. 자세한 내용은 AWS Cloud9에서 환경 열기 단원을 참조하십시오.
1단계: 필요한 액세스 권한을 사용하여 IAM 그룹 설정
AWS 보안 인증 정보가 AWS 계정의 관리자 사용자와 연결되어 있고, 해당 사용자를 이용해 CodeCommit으로 작업하려는 경우 2단계: AWS CodeCommit에서 리포지토리 만들기 섹션으로 진행하세요.
이 단계는 AWS Management Console 또는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 완료할 수 있습니다.
콘솔을 사용하여 필요한 액세스 권한으로 IAM 그룹 설정
-
아직 로그인하지 않았다면 AWS Management Console에 로그인합니다.
이 단계에서는 AWS 계정의 관리자 사용자에 대한 보안 인증 정보를 사용하여 로그인하는 것이 좋습니다. 이렇게 할 수 없으면 AWS 계정 관리자에게 문의하세요.
-
IAM 콘솔(IAM console)을 엽니다. 이렇게 하려면 콘솔의 탐색 모음에서 서비스를 선택합니다. 그런 다음, IAM을 선택합니다.
-
그룹을 선택합니다.
-
그룹의 이름을 선택합니다.
-
권한 탭의 관리형 정책에서 정책 연결을 선택합니다.
-
정책 이름 목록에서 다음 상자 중 하나를 선택합니다.
-
CodeCommit 및 리포지토리 관련 리소스의 모든 기능에 액세스하려면 AWS CodeCommitPowerUser를 선택하세요. 하지만 이렇게 하면 CodeCommit 리포지토리를 삭제하거나 다른 AWS 서비스에서 Amazon CloudWatch Events와 같은 리포지토리 관련 리소스를 생성 또는 삭제할 수 없습니다.
-
AWS 계정에서 CodeCommit 리포지토리 및 관련 리소스를 완벽하게 제어하려면 AWSCodeCommitFullAccess를 선택합니다. 여기에는 리포지토리 삭제 기능이 포함됩니다.
목록에서 이러한 정책 이름 중 하나가 보이지 않으면 표시할 정책 이름을 Filter(필터) 상자에 입력합니다.
-
-
정책 연결을 선택하세요.
이러한 AWS 관리형 정책에서 그룹에 부여하는 액세스 권한 목록을 보려면 AWS User Guide의 AWS CodeCommit Managed (Predefined) Policies for AWS CodeCommit을 참조하세요.
2단계: AWS CodeCommit에서 리포지토리 만들기 섹션으로 진행합니다.
AWS CLI를 사용하여 필요한 액세스 권한으로 IAM 그룹 설정
필요한 액세스 권한을 설명하는 AWS 관리형 정책의 Amazon 리소스 이름(ARN)과 그룹의 이름을 지정하여 IAM attach-group-policy
명령을 실행합니다. 구문은 다음과 같습니다.
aws iam attach-group-policy --group-name MyGroup --policy-arn POLICY_ARN
앞의 명령에서 MyGroup
을 그룹의 이름으로 바꿉니다. 다음과 같이 POLICY_ARN
을 AWS 관리형 정책의 ARN으로 바꿉니다.
-
CodeCommit 및 리포지토리 관련 리소스의 모든 기능에 액세스하려면
arn:aws:iam::aws:policy/AWSCodeCommitPowerUser
를 선택하세요. 하지만 이렇게 하면 CodeCommit 리포지토리를 삭제하거나 다른 AWS 서비스에서 Amazon CloudWatch Events와 같은 리포지토리 관련 리소스를 생성 또는 삭제할 수 없습니다. -
AWS 계정에서 CodeCommit 리포지토리 및 관련 리소스를 완벽하게 제어하려면
arn:aws:iam::aws:policy/AWSCodeCommitFullAccess
를 선택합니다. 여기에는 리포지토리 삭제 기능이 포함됩니다.
이러한 AWS 관리형 정책에서 그룹에 부여하는 액세스 권한 목록을 보려면 AWS User Guide의 AWS CodeCommit Managed (Predefined) Policies for AWS CodeCommit을 참조하세요.
2단계: CodeCommit에서 리포지토리 생성
이 단계에서는 CodeCommit 콘솔을 사용하여 CodeCommit에서 원격 코드 리포지토리를 생성합니다.
이미 CodeCommit 리포지토리가 있으면 3단계: 원격 리포지토리를 환경에 연결 섹션으로 건너뜁니다.
이 단계는 AWS Management Console 또는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 완료할 수 있습니다.
콘솔을 사용하여 CodeCommit에 리포지토리 생성
-
이전 단계에서 관리자 사용자로 AWS Management Console에 로그인한 경우 관리자 사용자를 사용하여 리포지토리를 생성하지 않으려는 경우를 가정해보겠습니다. 그런 다음, AWS Management Console에서 로그아웃합니다.
-
https://console.aws.amazon.com/codecommit
에서 CodeCommit 콘솔을 엽니다. -
콘솔의 탐색 모음에서 리전 선택기를 사용하여 리포지토리를 생성할 AWS 리전(예: 미국 동부(오하이오))을 선택합니다.
-
시작 페이지가 표시되면 [시작하기(Get started)]를 선택합니다. 그렇지 않은 경우 [리포지토리 생성(Create repository)]을 선택합니다.
-
Create repository(리포지토리 생성) 페이지에서 Repository name(리포지토리 이름)에 새 리포지토리의 이름(예:
MyDemoCloud9Repo
)을 입력합니다. 다른 이름을 선택하는 경우 이 샘플 전체에서 해당 이름으로 바꿉니다. -
(선택 사항) Description(설명)에 리포지토리에 관한 설명을 입력합니다. 예를 들면 다음과 같이 입력할 수 있습니다.
This is a demonstration repository for the AWS Cloud9 sample.
-
리포지토리 생성을 선택합니다. [리포지토리에 연결(Connect to your repository)] 창이 표시됩니다. 이 주제의 뒷부분에서 다른 방법으로 리포지토리에 연결하게 되므로 [닫기(Close)]를 선택합니다.
3단계: 원격 리포지토리를 환경에 연결 섹션으로 진행합니다.
AWS CLI를 사용하여 CodeCommit에 리포지토리 생성
AWS CodeCommit create-repository
명령을 실행합니다. 리포지토리 이름, 선택적 설명 및 리포지토리를 생성할 리전인 AWS 리전을 지정합니다.
aws codecommit create-repository --repository-name MyDemoCloud9Repo --repository-description "This is a demonstration repository for the AWS Cloud9 sample." --region us-east-2
앞의 명령에서 us-east-2
를 리포지토리를 생성할 AWS 리전의 ID로 바꿉니다. 지원되는 리전 목록은 Amazon Web Services 일반 참조의 AWS CodeCommit 섹션을 참조하세요.
다른 이름을 사용하도록 선택하는 경우 이 샘플 전체에서 해당 이름으로 바꿉니다.
3단계: 원격 리포지토리에 환경을 연결
이 단계에서는 AWS Cloud9 IDE를 사용하여 이전 단계에서 생성하거나 식별한 CodeCommit 리포지토리에 연결합니다.
참고
시각적 인터페이스를 통해 Git로 작업하는 것을 선호하는 경우 원격 리포지토리를 복제할 수 있습니다. 그런 다음, IDE에서 사용할 수 있는 Git 패널 기능을 사용하여 파일을 추가할 수 있습니다.
사용 중인 AWS Cloud9 개발 환경의 유형에 따라 다음 절차 중 하나를 완료합니다.
환경 유형 | 따라야 할 절차 |
---|---|
EC2 환경 |
|
SSH 환경 |
|
4단계: 원격 리포지토리를 환경에 복제
이 단계에서는 AWS Cloud9 IDE를 사용하여 환경에 CodeCommit을 설치합니다.
리포지토리를 복제하려면 git clone
명령을 실행합니다. CLONE_URL
을 리포지토리의 클론 URL로 바꿉니다.
git clone CLONE_URL
EC2 환경의 경우 https://
로 시작하는 HTTPS 복제 URL을 제공합니다. SSH 환경의 경우 ssh://
로 시작하는 SSH 복제 URL을 제공합니다.
리포지토리의 전체 복제 URL을 가져오려면 AWS CodeCommit 사용 설명서에서 AWS CodeCommit 콘솔을 사용하여 리포지토리 세부 정보 보기를 참조하세요.
리포지토리에 파일이 없으면 You appear to have cloned an empty repository.
와 같은 경고 메시지가 표시됩니다. 이는 예상할 수 있는 경우입니다. 나중에 설명하겠습니다.
5단계: 리포지토리에 파일 추가
이 단계에서는 AWS Cloud9 환경에 복제된 리포지토리로 세 가지 간단한 파일을 생성합니다. 다음으로 복제된 저장소의 Git 스테이징 영역에 파일을 추가합니다. 마지막으로 준비된 파일을 커밋하고 커밋을 CodeCommit의 원격 리포지토리로 푸시합니다.
복제된 리포지토리의 이 위치에 파일이 이미 있는 경우 작업이 완료되었으며 이 샘플의 나머지 부분을 건너뛸 수 있습니다.
리포지토리에 파일을 추가하려면
-
새 파일을 만듭니다. 메뉴 모음에서 File(파일)과 New File(새 파일)을 선택합니다.
-
다음 내용을 파일에 입력하고 나서 File(파일), Save(저장)를 선택하여 파일을 AWS Cloud9 환경의
MyDemoCloud9Repo
디렉터리에bird.txt
로 저장합니다.bird.txt -------- Birds are a group of endothermic vertebrates, characterized by feathers, toothless beaked jaws, the laying of hard-shelled eggs, a high metabolic rate, a four-chambered heart, and a lightweight but strong skeleton.
참고
이 파일을 올바른 디렉터리로 저장하는지 확인하려면 Save As(다른 이름으로 저장) 대화 상자에서
MyDemoCloud9Repo
폴더를 선택하세요. 그런 다음, Folder(폴더)에서/MyDemoCloud9Repo
이 표시되는지 확인합니다. -
이름이
insect.txt
및reptile.txt
인 파일을 다음과 같은 내용으로 두 개 더 만듭니다.MyDemoCloud9Repo
디렉터리에 파일을 저장합니다.insect.txt ---------- Insects are a class of invertebrates within the arthropod phylum that have a chitinous exoskeleton, a three-part body (head, thorax, and abdomen), three pairs of jointed legs, compound eyes, and one pair of antennae.
reptile.txt ----------- Reptiles are tetrapod (four-limbed vertebrate) animals in the class Reptilia, comprising today's turtles, crocodilians, snakes, amphisbaenians, lizards, tuatara, and their extinct relatives.
-
이 터미널에서는
cd
명령을 실행하여MyDemoCloud9Repo
디렉터리로 바꿉니다.cd MyDemoCloud9Repo
-
git status
명령을 실행하여 파일이MyDemoCloud9Repo
디렉터리에 성공적으로 저장되었는지 확인합니다. 두 개의 파일 모두 추적되지 않는 파일로 나열됩니다.Untracked files: (use "git add <file>..." to include in what will be committed) bird.txt insect.txt reptile.txt
-
git add
명령을 실행하여 파일을 Git 스테이징 지역에 추가합니다.git add --all
-
git status
명령을 다시 실행하여 파일이 Git 스테이징 지역에 성공적으로 추가되었는지 확인합니다. 변경 사항이 커밋되면 세 개 파일 모두가 나열됩니다.Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: bird.txt new file: insect.txt new file: reptile.txt
-
git commit
명령을 실행하여 스테이징된 파일을 커밋합니다.git commit -m "Added information about birds, insects, and reptiles."
-
git push
명령을 실행하여 CodeCommit에서 원격 리포지토리로 커밋을 푸시합니다.git push -u origin master
-
파일이 성공적으로 푸시되었는지 확인합니다. 열려 있지 않은 경우 https://console.aws.amazon.com/codecommit
에서 CodeCommit 콘솔을 엽니다. -
상단 탐색 모음의 오른쪽 가장자리 근처에서 리포지토리를 생성한 AWS 리전(예: 미국 동부(오하이오))을 선택합니다.
-
[대시보드(Dashboard)] 페이지에서 MyDemoCloud9Repo를 선택합니다. 세 개의 파일이 표시됩니다.
CodeCommit 리포지토리를 계속 실험하려면 AWS CodeCommit 사용 설명서에서 리포지토리 콘텐츠 검색을 참조하세요.
Git에 익숙하지 않고 CodeCommit 리포지토리에 서툴다면 Git 시도하기
6단계: 정리
이 샘플 사용 후 AWS 계정에 계속하여 요금이 부과되지 않도록 CodeCommit 리포지토리를 삭제합니다. 지침은 AWS CodeCommit 사용 설명서에서 AWS CodeCommit 리포지토리 삭제를 참조하세요.
또한 환경도 삭제해야 합니다. 지침에 대한 내용은 환경 삭제를 참조하십시오.