빌드가 올바르게 등록되지 않았고 시크릿이 없는 경우 빌드 실패
빌드를 작성하고 실행한 후, 빌드가 완료되지 않고 빌드가 올바르게 등록되지 않았으며 시크릿이 없다는 메시지가 수신됩니다.
빌드가 올바르게 등록되지 않았고 시크릿이 없다는 메시지를 수신하는 경우 BUILD_NAME 빌드가 올바르게 정의되지 않았습니다.
예제 오류 메시지
The Build is not registered correctly, build: <BUILD_NAME>, registered status: False, reason: SpecSourceSecretNotFound|SpecOutputSecretRefNotFound|MultipleSecretRefNotFound
BUILD_NAME 빌드가 존재하지 않는 시크릿을 참조합니다. 이유가 SpecOutputSecretRefNotFound인 경우 레지스트리 비밀 정보가 존재하지 않습니다. SpecSourceSecretNotFound인 경우 Git 저장소에 액세스하기 위한 시크릿이 누락되었습니다. 두 시크릿이 모두 없는 경우의 이유는 MultipleSecretRefNotFound입니다.
기존 시크릿을 참조하도록 빌드를 수정하십시오.
다음 솔루션 중 하나를 시도하십시오.
콘솔 또는 CLI 에서 빌드를 실행하는지 여부에 관계없이 CLI를 사용하여 빌드의 문제점을 해결하십시오.
- 빌드 실행의 세부사항을 표시하려면
ibmcloud ce buildrun get --name BUILDRUN_NAME명령을 실행하십시오. - 명령 출력에서
Reason을 검토하십시오.
다음 단계를 수행하여 빌드의 문제점을 해결하십시오.
-
시크릿을 확인하십시오. 빌드에서 시크릿은 다음과 같은 목적으로 사용됩니다.
- 컨테이너 레지스트리에서 인증. 레지스트리 시크릿은 컨테이너 레지스트리에 액세스하기 위한 신임 정보를 저장합니다. 기존 레지스트리 시크릿을 포함하여 프로젝트의 모든 시크릿을 나열하려면
ibmcloud ce secret list명령을 실행하십시오. 레지스트리 시크릿을 작성하려면ibmcloud ce secret create --format registry명령을 실행하십시오. 레지스트리 시크릿에 대한 자세한 정보는 개인용 컨테이너 레지스트리에 액세스 추가를 참조하십시오. - 개인용 소스 코드 저장소에서 인증. SSH 비밀번호는 Git 저장소 (예: GitHub 또는 GitLab) 에 대한 인증과 같은 SSH키를 사용하여 서비스에 인증하기 위한 신임 정보를 저장합니다. 기존 SSH 시크릿을 포함하여 프로젝트의 모든 시크릿을 나열하려면
ibmcloud ce secret list명령을 실행하십시오. SSH 시크릿을 작성하려면ibmcloud ce secret create --format ssh명령을 실행하십시오. 저장소에 액세스하기 위한 SSH 비밀 정보에 대한 자세한 정보는 개인용 코드 저장소 액세스를 참조하십시오.
- 컨테이너 레지스트리에서 인증. 레지스트리 시크릿은 컨테이너 레지스트리에 액세스하기 위한 신임 정보를 저장합니다. 기존 레지스트리 시크릿을 포함하여 프로젝트의 모든 시크릿을 나열하려면
-
시크릿이 정의되었으면
ibmcloud ce build update명령을 사용하여 빌드 구성을 업데이트하십시오. 레지스트리 시크릿을 참조하는 경우,build update명령과 함께--registry-secret옵션을 사용하여 비밀의 이름을 지정하십시오. 컨테이너 이미지를 빌드할 소스 코드를 포함하는 개인 저장소에 액세스하기 위해 SSH 시크릿을 참조하는 경우,build update명령으로--git-repo-secret옵션을 지정하십시오. 예를 들면 다음과 같습니다.ibmcloud ce build update --name <BUILD_NAME> [--registry-secret <REGISTRY_ACCESS_SECRET>] [--git-repo-secret <GIT_REPO_SECRET>] -
ibmcloud ce buildrun submit명령을 사용하여 새 빌드 실행을 제출하십시오.buildrun submit명령의 경우 빌드 구성의 이름을 제공하려면--build옵션을 지정해야 합니다. 선택적으로--name옵션을 지정하여 이 빌드 실행의 이름을 제공할 수 있습니다.--name옵션을 지정하는 경우 실패한 빌드 실행과 다른 빌드 실행 이름을 사용하거나,ibmcloud ce buildrun delete명령을 사용하여 실패한 빌드 실행을 삭제해야 합니다. 예를 들면 다음과 같습니다.ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>