- CodeCommit은 완전 관리형 git 리포지토리입니다.
- 파일 전송 간 / 유휴 상태에서도 자동으로 암호화합니다.
- AWS IAM과 사용할 수 있습니다.
이번 포스팅에서는 리포지토리에서 clone, 변화를 주기 위해서
git helper를 통해서 IAM 크리덴셜을 사용할 예정입니다.
일전에 #1에서 만들었던 리포지토리로 이동합니다.
해당 콘솔에서 확인할 수 있는 화면은 다음과 같습니다.
여기서는 배포된 코드 내용 / Pull Request 이력 / 커밋 이력 / 브랜치 등을 확인할 수 있습니다.
다음의 서비스는 CodeBuild입니다.
- 완전 관리형 빌드 서비스로, 소스 코드를 컴파일할 수 있고, 테스트 수행 그리고 소프트웨어 패키지를 만듭니다.
- 리포지토리에 코드를 푸시하면 빌드, 실행 과정을 거치게 되는데, aws CodeBuild는 지속적인 여러 빌드를 동시에
진행할 수 있습니다.
- AWS SSM 파라미터 스토어로 부터 환경 변수를 사용할 수 있습니다.
- 또한 의존성 주입을 지원합니다.
CodeBuild를 시각화할 수 있는 두 가지 방법이 있습니다.
먼저, CodeCommit의 코드 브라우저에서 buildspec.yaml 파일을 확인해 봅시다.
람다 애플리케이션은 빌드 단계뿐만 아니라 빌드를 실행하는 데 필요한 명령을 생성했습니다.
코드를 보시면, node.js 애플리케이션을 직접 빌드하지 않더라도
어떤 단계가 필요한지 그리고 실행할 어떤 명령어가 필요한지와 같은 아이디어를 제공할 수 있습니다.
(예를 들어 maven 혹은 python와 같은)
그리고 CodeBuild에서 프로젝트 빌드로 넘어가서 이전에 만든 빌드를 확인해 봅시다.
해당 내용 빌드가 몇 번째인지와 같은 내역들도 확인할 수 있습니다.
배치 이력 / 빌드 세부 정보 / 빌드 트리거 / 지표 등을 콘솔에서 확인할 수 있습니다.
모든 이런 내용들을 오케스트레이트 하기 위해서 AWS CodePipeline이 있습니다.
CodePipeline은 Continuous Delivery service로 빠르고 안정적인 애플리케이션 업데이트가 가능합니다.
소프트웨어 배포 프로세스에 대한 모델링과 시각화를 제공합니다.
코드 변화가 있다면 빌드, 테스트, 배포를 매번 수행합니다.
기존에 만든 파이프라인을 확인해 봅시다.
여기서 source > build > deploy를 확인할 수 있습니다.
여기에 각 과정별 맞는 서비스를 확인할 수 있습니다.
CodeCommit을 통해서 소스 코드를 저장하고, CodeBuild를 통해서 코드를 빌드하거나 혹은 서드 파티 애플리케이션을 통해서 빌드할 수 있습니다. 프로덕션 레벨로 코드를 배포합니다.
모든 과정이 AWS codepipeline을 통해서 오케스트레이션이 가능합니다.
파트너 네트워크를 통해 CodeBuild에서 Github 혹은 Atlassian Bitbucket의 사용이 가능합니다.
CodePipeline은 CloudBees, Jenkins, TeamCity 등과의 통합이 가능케 해 줍니다.
CircleCI는 AWS SAM orb를 제공해서 빌드를 간소화할 수 있게 도와줍니다.
'IT > AWS' 카테고리의 다른 글
서버리스 애플리케이션을 위한 CI/CD 워크플로우 만들기 #5 (0) | 2023.01.17 |
---|---|
서버리스 애플리케이션을 위한 CI/CD 워크플로우 만들기 #4 (2) | 2023.01.16 |
서버리스 애플리케이션을 위한 CI/CD 워크플로우 만들기 #2 (0) | 2023.01.14 |
SES 메일 보내기 (0) | 2023.01.13 |
서버리스 애플리케이션을 위한 CI/CD 워크플로우 만들기 #1 (0) | 2023.01.11 |