- AWS CodeBuild
- '빌드' 및 '테스트'를 자동화 하는 서비스
- 소스
- S3, GitHub, CodeCommit 등등 선택가능
- 환경
- 제공하는 DockerImage를 사용하거나, 직접 특정 DockerImage를 지정하거나...
- (빌드과정에서, 도커 이미지를 빌드하거나~ 관련 권한의 승격이 필요하면~ 해당 옵션 체크!!!)
- IAM의 Role을 지정하고, 필요한 권한을 부여해야함. (예를들면... ECR푸쉬 , S3읽/쓰 등등에 권한)
- Buildspec
- 보통 buildspec.yaml 파일을 소스코드에 위치한다. 지원하는 스펙에 맞게, 잘... 작성하면 됨...
- env : ...
- phase/install : ...
- phase/pre_build : ...
- phase/build : ...
- phase/post_build : ...
- artifacts : ...
- 예1)
-
version: 0.2 phases: pre_build: commands: - echo Logging in to Amazon ECR... - $(aws ecr get-login --no-include-email --region $AWS_DEFAULT_REGION) - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-8) - IMAGE_TAG=${COMMIT_HASH:=latest} build: commands: - echo Build started on `date` - docker build -t $IMAGE_REPO_NAME:latest . - docker tag $IMAGE_REPO_NAME:latest $ACCOUNT_ID.dkr.ecr.ap-northeast-2.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG post_build: commands: - echo Build completed on `date` - docker push $ACCOUNT_ID.dkr.ecr.ap-northeast-2.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG
- 예2)
-
version: 0.2 phases: install: runtime-versions: python: 3.7 pre_build: commands: - echo Pre-Build on `date` build: commands: - echo Build:sam-build on `date` - sam build --use-container - echo Build:sam-package on `date` - sam package --template-file .aws-sam/build/template.yaml --output-template-file packaged.yaml --s3-bucket 버킷 post_build: commands: - echo Post-Build on `date` artifacts: files: - template.yaml - packaged.yaml
- ...
- 아티팩트
- 빌드 결과물이 있다면, S3으로 떨굴수있다.
- 로그 : ...
- ...
-끝-
'AWS' 카테고리의 다른 글
Amazon Kinesis Data Streams (0) | 2020.10.18 |
---|---|
AWS CodeDepoly (0) | 2020.08.29 |
Amazon EKS (0) | 2020.07.16 |
Amazon SageMaker Studio (0) | 2020.07.16 |
AWS Serverless Application Repository (0) | 2020.06.29 |