DevOps/AWS

[AWS] CodeCommit & CodeDeploy

세리둥절 2023. 3. 31. 14:21
반응형

CodeCommit 이란?

암호화가 GitHub과 가장 큰 차이점이다
개발 팀장은 IAM 권한을 이용해서 다 쓸 수 있는데, 팀원들에게는 다른 권한을 줄 수도 있다. (서로 다른 권한 설정)

 

CodeCommit 실습

1. IAM 유저를 먼저 설정해야 한다. 기존 정책 CodeCommitFullAccess을 갖고 있는 
2. 방금 만든 IAM에 들어가서 보안 자격 증명에 들어가서 CodeCommit에 대한 HTTPS Git 자격 증명 생성해야한다. (다운로드)
3. EC2 하나를 만든다
4. 콘솔에서 sudo apt install awscli  >> aws configure 
5. CodeCommit에 들어가서 리포지토리를 생성한다. 
6.  git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/firstrepo
7. userName과 password를 2에서 다운로드받은 것으로 증명
8. cd firstrepo
9. git config --local user.name "sezzled" / git config --local user.email sezzled@gmail.com
10. git init / git add --all / git commit -m 'text.txt' / git push -u origin

 

 

CodeDeploy  이란?

지금까지 배포했던 방법들
1. python manage.py runserver
2. EC2
3. EC2 + nginx 
4. Fargate
5. (이제) CodeDeploy

이 사람은 GitHub + CodeDeploy를 함께 사용하고 있다. 우리는 BitBucket + CodeDeploy를 사용하고 있다.=

 

 

CodeDeploy  구성요소

1. Compute Platform : Lambda냐 EC2냐 등
2. Deployment Types & Groups : 배포를 여러대에다가 할 수도 있는데 여러개의 컴퓨터를 모아둔 것
3. IAM : 권한

 

 

 

CodeDeploy  실습 (GitHub + CodeDeploy)

현재는 GitHub에 Django 파일만 있는데 Nginx까지 있는 상태에서 CodeDeploy를 해야 한다.

1. AWS에서 EC2를 하나 만든다
2. IAM 유저 설정해야한다. 
3. AWSCLI를 설치한다 (sudo apt install awscli, aws configure)
4. vi policy.json을 만들고 정책을 복붙한다
5. 방금 만든 policy.json 파일을 통해서 policy를 새로 만든다
    aws iam create-policy --policy-name codedeploy-policy --policy-document file://policy.json
4. aws iam attach-user-policy --user-name [name] ECS-CLI --policy-arn "arn:aws:...."
5. vi CodeDeployDemo-Trust.json 신뢰성 파일을 하나 만들고 신뢰성 정책을 복붙한다
6. aws iam create-role --role-name CodeDeploy ... (AWS 공식 문서를 따라하면 된다)
7. GitHub Repo를 git clone 해야 한다. 
8. AWS 콘솔에서 애플리케이션을 하나 만든다
9. 배포 그룹을 생성한다 -> 배포 그룹에서 1번에서 만들어놓은 EC2를 설정한다
10. 배포 그룹 안에서 배포 생성을 선택
    GitHub에 저장, GitHub 토큰 이름 아무거나 적고 연결버튼 누르기, 깃헙 레포 이름 적기, Commit ID는 최근에 커밋한 아이디

반응형