Copilot Codepipeline 빌드 단계 문제 해결
해당하는 것은 Copilot Platform이 linux/arm64이고, manifest.yml + buildspec.yml 파일을 수정하지 않는 경우 발생합니다.
Copilot pipelien init를 통해 생성된 manifest.yml + buildspeec.yml 파일의 빌드 이미지는 arm64 기반의 이미지가 아니라 일반 Linux 기반의 이미지이기 때문에 arm64 이미지로 요구해야 합니다.
시간이 지나면 이르면 관련 리소스 업로드가 발생합니다.
✘ upload resources required for deployment for copilot: build and push image: build Dockerfile at /codebuild/output/path/Dockerfile: building image: exit status 1
Cloudformation stack and config files were not generated. Please check build logs to see if there was a manifest validation error.
해결된 방법은 위에서 말했던 거처럼 manifest.yml과 buildspec.yml의 빌드 이미지를 arm64로 페이지에 올려 놓으셨습니다.
먼저 manifest.yml 파일에 (소스와 단계 사이에)
build:
image: aws/codebuild/amazonlinux2-aarch64-standard:2.0
코드를 추가해 이미지 생성을 설정합니다.
buildspec.yml 파일에 기존 작업과 같이 작성되어 있는 부분이 변경됩니다. 이렇게 작성 후 새로 빌드를 실행하면 빌드가 정상적으로 작동하는 것을 확인할 수 있습니다.
- wget -q https://ecs-cli-v2-release.s3.amazonaws.com/copilot-linux-v1.18.0
- mv ./copilot-linux-v1.18.0 ./copilot-linux
- wget -q https://ecs-cli-v2-release.s3.amazonaws.com/copilot-linux-arm64-v1.18.0
- mv ./copilot-linux-arm64-v1.18.0 ./copilot-linux
참고. github issue , github pr
번외
[Container] 2022/05/16 02:38:00 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: for env in $pl_envs; do
tag=$(sed 's/:/-/g' <<<"${CODEBUILD_BUILD_ID##*:}-${env}" | rev | cut -c 1-128 | rev)
for svc in $svcs; do
./copilot-linux svc package -n $svc -e $env --output-dir './infrastructure' --tag $tag --upload-assets;
if [ $? -ne 0 ]; then
echo "Cloudformation stack and config files were not generated. Please check build logs to see if there was a manifest validation error." 1>&2;
exit 1;
로그를 보면 이런 질문이 붉은색으로 떠들썩한 전기 신호를 보고 어떤 것이 유인지인지 추나 이 부분을 볼 수 있다는 점에서... ^T
Reference
이 문제에 관하여(Copilot Codepipeline 빌드 단계 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hyeonjun/copilot-code-pipeline-build-stage-trouble-shooting-en9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)