AWS CodeBuild 에이전트를 사용하여 로컬 Graviton 2 버전 실행

7952 단어 codebuildaws
전에 나는 어떻게 사용하는지 묘사했다.내가 사용한 예는 매우 간단하다.구문을 실행하려면 Docker만 필요하며 오래 실행되지 않습니다.더 복잡한 프로젝트에 있어서 로컬 기기에 AWS 코드 구축 환경이 있는 것이 도움이 된다.이렇게 하면 Docker 이미지를 검사하여 원하는 도구가 있는지 확인할 수 있습니다.그것은 구축 과정을 완성하기 위해 더욱 간단한 방법을 제공했다.새 사용자는buildspec의 내용을 디버깅하기 위한 실천이 필요할 수도 있습니다.yml 파일.본고는 CodeBuild 에이전트를 사용하여 로컬에서 구축을 실행하고Gravion2에 CodeBuild 프로젝트를 만드는 방법을 설명합니다.

설정 및 필수조건
Gravion2 프로세서가 동력을 제공하는 AWS EC2 실례는 Arm 구조를 사용합니다.Arm 아키텍처를 사용한 로컬 시스템은 원활한 개발 환경을 제공합니다.오늘 나는 애플 실리콘으로 맥북 에어에서 이 일을 할 것이다.이것은 또 다른 선택이다.
Docker 및 git은 이 자습서를 실행하는 데 필요합니다.Git는/usr/bin에서 이미 제공되었을 것입니다.Install Docker for Apple Silicon 다운로드 링크를 사용합니다.
git와 Docker가 있으면 필요한 Docker 이미지를 설정합니다.

Docker 이미지
CodeBuild를 실행하려면 두 개의 Docker 이미지가 필요합니다.이미지와 로컬 에이전트를 구축합니다.구축 이미지는 구축 과정을 수행하는 이미지다.buildspec의 명령을 실행하기 위해 필요한 모든 도구가 필요합니다.프로젝트의 yml 파일입니다.
전화번호Dockerfiles for CodeBuild images are available on GitHub.이전 기사에서 Amazon Linux 2 표준 이미지 버전 2를 선택했습니다.
모든 코드를 사용하여 이미지를 구축하고 구축하려면 GitHub 저장소를 복제하고 디렉터리를 필요한 이미지로 변경한 다음 구축하십시오.
Arm에 대한 Amazon Linux 2 이미지를 Amazon ECR Public에 발표했기 때문에 구축할 필요가 없습니다.
구축 이미지를 얻으려면 docker pull을 사용하십시오.
$ docker pull public.ecr.aws/z9p7l6s8/codebuild/amazonlinux2-aarch64-standard:2.0
$ docker tag public.ecr.aws/z9p7l6s8/codebuild/amazonlinux2-aarch64-standard:2.0 codebuild/amazonlinux2-aarch64-standard:2.0
자신을 가져오고 구축하려면 docker build을 사용하십시오.
$ git clone https://github.com/aws/aws-codebuild-docker-images.git
$ cd aws-codebuild-docker-images/al2/aarch64/standard/2.0
$ docker build -t  codebuild/amazonlinux2-aarch64-standard:2.0  .
두 번째 Docker 이미지는 로컬 에이전트입니다.이것은 현재 Docker Hub에서 중력2로 할 수 있다.이것은 좋은 소식이다. 왜냐하면 내가 글을 쓸 때, 그것은 사용할 수 없기 때문이다.
docker pull을 사용하여 로컬 프록시 이미지를 가져옵니다.
$ docker pull amazon/aws-codebuild-local:aarch64 --disable-content-trust=false

코드 구축 로컬 구축 스크립트
마지막으로 필요한 것은 구축된 스크립트를 실행하는 것입니다.이 스크립트는 DockerFile이 포함된 GitHub 프로젝트에서 사용할 수 있지만 wget을 사용하여 다운로드할 수도 있습니다.
$ wget https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_build.sh
$ chmod +x codebuild_build.sh

구축 실행
buildspec을 사용하여 테스트 구축을 시작할 수 있습니다.yml.이전 글에서buildspec을 사용합니다.yml은 GitHub 프로젝트에 참여했습니다.때때로 사용자도buildspec을 입력할 수 있습니다.yml는 코드 구축에 직접 들어갑니다.어떤 방식으로든 구축 스크립트는buildspec으로 기본값입니다.스크립트를 실행하는 디렉터리의yml 파일입니다.buildspec을 지정하기 위한 스위치도 제공합니다.yml 파일.
같은 "Hello World"프로젝트를 사용하여 로컬 구축을 실행합니다.
프로젝트를 GitHub에서 로컬 컴퓨터로 복제합니다.
$ git clone https://github.com/jasonrandrews/hello-arm.git
$ cd hello-arm
건축 규범.yml은 이미 최고급 디렉터리에 있습니다.
또 하나 주의해야 할 것은buildspec에서 시크릿 관리자 부분의 사용입니다.yml.로컬 컴퓨터에서 Secrets Manager와 같은 AWS 서비스를 사용할 수 있습니다.Setup the AWS cli 로컬 컴퓨터에 AWS 계정에 접근할 수 있는 프로필을 만들고 -c 옵션을 사용하여 codebuild build을 만듭니다.쉿!
다음은 실행 생성된 명령입니다.
$ ./codebuild_build.sh -c -i codebuild/amazonlinux2-aarch64-standard:2.0 -a /tmp  -l amazon/aws-codebuild-local:aarch64

코드 구성 이미지 검사
로컬에서 CodeBuild를 실행하는 또 다른 일반적인 이유는 구축에 필요한 모든 내용이 Docker 이미지에 포함되어 있는지 확인하는 것입니다.
코드 구축 이미지를 시작하고 그 내용을 보려면 Dockerfile의 입구점을 덮어쓰고 bash를 시작하십시오.
$ docker run --rm -it --entrypoint /bin/bash codebuild/amazonlinux2-aarch64-standard:2.0
이것은 그림의 내용을 보고 볼 수 있으며, 상호작용으로 명령을 시도하고,buildspec을 실행할 수 있다는 자신감을 얻을 수 있습니다.yml.
코드 구축에서 -h를 사용합니다.sh 구축 스크립트의 더 많은 옵션 목록을 가져옵니다.
 $ ./codebuild_build.sh -h
usage: codebuild_build.sh [-i image_name] [-a artifact_output_directory] [options]
Required:
  -i        Used to specify the customer build container image.
  -a        Used to specify an artifact output directory.
Options:
  -l IMAGE  Used to override the default local agent image.
  -r        Used to specify a report output directory.
  -s        Used to specify source information. Defaults to the current working directory for primary source.
               * First (-s) is for primary source
               * Use additional (-s) in <sourceIdentifier>:<sourceLocation> format for secondary source
               * For sourceIdentifier, use a value that is fewer than 128 characters and contains only alphanumeric characters and underscores
  -c        Use the AWS configuration and credentials from your local host. This includes ~/.aws and any AWS_* environment variables.
  -p        Used to specify the AWS CLI Profile.
  -b FILE   Used to specify a buildspec override file. Defaults to buildspec.yml in the source directory.
  -m        Used to mount the source directory to the customer build container directly.
  -d        Used to run the build container in docker privileged mode.
  -e FILE   Used to specify a file containing environment variables.
            (-e) File format expectations:
               * Each line is in VAR=VAL format
               * Lines beginning with # are processed as comments and ignored
               * Blank lines are ignored
               * File can be of type .env or .txt
               * There is no special handling of quotation marks, meaning they will be part of the VAL

요약
AWS CodeBuild는 대부분의 작업을 자동화하고Gravion2에서 잘 작동하는 위대한 서비스다.최신 CodeBuild 로컬 에이전트를 사용하여 Aarch64 버전의 Docker 이미지를 로컬에서 개발하고 테스트하여 문제를 신속하게 파악할 수 있습니다.로컬 테스트는 애플 실리콘 칩이 장착된 맥북에서, 삼성 갤럭시북 S나 마이크로소프트 서피스 프로 X 등 Arm 기기의 Windows 10에서도 가능하다.

좋은 웹페이지 즐겨찾기