도구 체인에 대한 문제점 해결
툴체인 사용의 일반적인 문제에는 툴 통합 구성 또는 툴체인 템플릿 문제가 포함될 수 있습니다. 대부분의 경우 몇 가지 간단한 단계를 수행하여 이러한 문제점에서 복구할 수 있습니다.
다른 지역의 개인용 저장소를 사용하는 템플리트로부터 도구 체인을 작성할 수 없는 이유는 무엇입니까?
사용하고 있는 도구 체인 템플리트가 개인용 Git Repos and Issue Tracking 저장소를 참조합니다.
Git Repos and Issue Tracking는 지역별로 고유합니다. 템플리트로부터 도구 체인을 작성하고 개인용 저장소가 없는 지역을 대상으로 지정하려고 시도하면 Git 통합 설정이 실패합니다.
특정 지역의 도구 체인에 Git Repos and Issue Tracking 저장소를 추가하면 사용자의 IBM ID가 해당 지역의 GitLab에 대한 액세스 권한을 사용자에게 부여하는 GitLab 사용자 이름에 맵핑됩니다. 사용자의 GitLab 사용자 이름은 모든 지역에서 동일하게 표시되지만, 각 지역에는 서로 별도의 GitLab 설치가 있으므로 각 지역의 연관된 GitLab 사용자는 서로 다릅니다. GitLab 사용자 이름이 동일하게 표시되는 경우에도 다른 지역의 GitLab 사용자에 대한 액세스 권한은 도구 체인에 자동으로 부여되지 않습니다.
다른 Git Repos and Issue Tracking 지역을 포함, 어디서든 액세스할 수 있도록 IBM Cloud 저장소를 공용으로 설정하십시오.
저장소가 반드시 개인용이어야 하는 경우 저장소 소유자는 소스 저장소가 있는 GitLab 서버에서 개인 액세스 토큰을 작성하여 이에 대한 액세스 권한을 부여할 수 있습니다. 도구 체인 작성 중에 컨텐츠를 복제하려는 경우에는 개인용 저장소에 대한 액세스 권한만 있으면 됩니다. 개인 액세스 토큰은 수명을 제한(1일 후 만료 등)할 수 있도록 만료 날짜를 사용하여 작성할 수 있습니다.
개인 액세스 토큰을 확보한 후에는 URL을 작성하여 다른 지역에서 저장소에 액세스할 수 있습니다. 도구 체인을 구성하는 중에, 사용자의 사용자 이름 및 액세스 토큰을 사용하도록 소스 저장소 URL 필드의 저장소 URL을 업데이트하십시오.
https://user:XXXXXXX@us-south.git.cloud.ibm.com/group/node-hello-world
여기서 user 은 GitLab 사용자 이름, XXXXXXX 은 액세스 토큰, group은 리포지토리가 저장된 그룹, node-hello-world 은 리포지토리의 이름입니다.
사용자의 GitLab 저장소가 GitLab 그룹 내에 없는 경우 group의 값은 사용자 이름과 동일합니다.
내 도구 체인에 대해 도구 통합을 구성했습니다. 왜 구성되지 않습니까?
설정 프로세스 중에 오류가 발생하거나 도구 체인과 도구 간의 통신이 올바르게 완료되지 않은 경우에는 구성이 실패합니다.
도구 체인의 도구 통합을 추가 및 구성하고 나면 설정이 실패했음을 나타내는 오류 메시지가 표시됩니다.
도구 통합을 추가하는 경우, 도구 체인은 도구 통합에 의해 표시된 도구와 통신하여 필수 리소스를 프로비저닝하고 이를 도구 체인과 연관시킵니다. 설정 프로세스 중에 오류가 발생하거나 도구 체인과 도구 간의 통신이 제대로 완료되지 않은 경우, 도구 통신은 오류 상태가 됩니다.
다음을 수행하여 다시 도구 통합을 구성하도록 시도할 수 있습니다.
-
해당 도구 카드에서
Setup failed메시지 위에 마우스 커서를 올려놓고 재구성을 클릭하십시오.
도구 -
올바른 구성 매개변수를 사용 중인지 확인하십시오. 올바르지 않은 구성으로 인해 오류가 발생한 경우 오류 메시지가 표시됩니다(예:
The integration could not be set up. Check the settings and try again. Reason: Invalid api_key:fakeKey). 도구 통합에 대한 설정을 업데이트하고 통합 저장을 클릭하십시오. -
통신 문제점 때문에 오류가 발생한 경우에는 통합 저장을 클릭하여 다시 시도하십시오.
ibmcloud CLI를 사용하여 도구 체인을 삭제할 수 없는 이유는 무엇입니까?
현재는 ibmcloud resource CLI를 사용하여 도구 체인을 삭제할 수 없습니다.
명령행에서 ibmcloud resource service-instance-delete 명령을 사용하여 도구 체인을 삭제하려 시도했으나 다음 오류 메시지가 출력되며 명령이 실패합니다.
Error Code: RC-ServiceBrokerErrorResponse Message: description : Toolchain delete must be performed from the toolchain dashboard
도구 체인은 현재 ibmcloud resource CLI를 사용하여 삭제할 수 없는, Cloud 플랫폼의 특수한 리소스 유형입니다.
도구 체인을 삭제하려면 다음 작업을 수행하십시오.
- 콘솔에서 IBM Cloud 메뉴 아이콘(
) > 플랫폼 자동화 > 툴체인스를 클릭합니다. 도구 체인 페이지에서 삭제할 도구 체인을 클릭하십시오.
- 조치 메뉴를 클릭하고 삭제를 선택하십시오. 도구 체인을 삭제하면 도구 통합이 모두 제거되므로 해당 통합에서 관리하는 리소스를 삭제할 수 있습니다.
- 도구 체인의 이름을 입력하고 삭제를 클릭하여 삭제를 확인하십시오.
IBM Cloud CLI Developer Tools(ibmcloud dev) 명령을 사용하여 도구 체인을 삭제할 수 있습니다. IBM Cloud CLI를 설치하고 나면, ibmcloud dev toolchain-delete 명령을 사용하여 명령행에서 도구 체인을 삭제할 수 있습니다.
내 DevOps 대시보드에서 도구 체인을 볼 수 없는 이유는 무엇입니까?
DevOps 대시보드로 이동하면 도구 체인이 표시되지 않습니다.
적절한 위치를 선택하지 않으면 도구 체인이 도구 체인에 표시되지 않습니다. DevOps Insights는 댈러스, 프랑크푸르트, 런던 세 곳에서만 사용할 수 있습니다.
모든 DevOps Insights 통합 도구 체인을 표시하려면 도구 체인 페이지에서 위치를 댈러스, 프랑크푸르트 또는 런던으로 변경하십시오.
루트 키가 사용 안함으로 설정된 경우 도구 체인을 작성할 수 없는 이유는 무엇입니까?
도구 체인을 작성하려고 시도하면 다음 알림이 표시됩니다. The root key of the Key Management Service instance that was configured for the Continuous Delivery service in the selected resource group and region is disabled.
도구 체인을 작성할 때 사용으로 설정된 암호화를 위해 루트 키를 사용하여 보호해야 합니다.
다음 방법 중 하나를 사용하여 암호화를 위해 루트 키를 사용으로 설정하십시오.
-
도구 체인을 작성할 지역에서 Continuous Delivery 서비스와 연관된 IBM® Key Protect for IBM Cloud® 인스턴스 에 대한 루트 키를 사용으로 설정하십시오.
-
도구 체인을 작성할 지역에서 Continuous Delivery 서비스와 연관된 IBM Cloud® Hyper Protect Crypto Services 인스턴스 에 대한 루트 키를 사용으로 설정하십시오.
루트 키가 사용 안함으로 설정된 경우 도구 체인 페이지에서 작성한 서비스 인스턴스를 볼 수 없는 이유는 무엇입니까?
도구 체인을 열면 다음 알림이 표시됩니다. The root key of the key management service instance that was used to encrypt this toolchain is disabled.
도구 체인을 열 때 도구 체인의 서비스 인스턴스를 보는 데 필요한 정보가 복호화되므로 암호화를 위한 루트 키가 사용으로 설정되어 있는지 확인해야 합니다.
다음 방법 중 하나를 사용하여 암호화를 위해 루트 키를 사용으로 설정하십시오.
-
도구 체인을 보려는 지역에서 Continuous Delivery 서비스와 연관된 IBM® Key Protect for IBM Cloud® 인스턴스 에 대한 루트 키를 사용으로 설정하십시오.
-
도구 체인을 보려는 지역에서 Continuous Delivery 서비스와 연관된 IBM Cloud® Hyper Protect Crypto Services 인스턴스 에 대한 루트 키를 사용으로 설정하십시오.
Terraform 또는 API를 사용하여 도구 통합을 구성할 때 Could not find value for secret reference... 오류로 인해 구성이 실패하는 이유는 무엇입니까?
도구 통합이 시크릿에 대한 참조로 구성되었지만 도구 체인이 참조된 시크릿 또는 시크릿 저장소를 찾을 수 없습니다.
Terraform 또는 API를 사용하여 도구 통합을 작성하거나 업데이트할 때 Could not find value for secret reference... 오류 메시지와 함께 구성이 실패합니다.
많은 도구 통합에는 시크릿으로 분류되는 구성 특성이 포함되어 있습니다. Terraform 리소스 또는 API 호출에서 이러한 특성을 설정할 때 시크릿 참조 로 설정할 수 있습니다. 시크릿 참조는 도구 체인에 통합된 시크릿 저장소에서 시크릿의 이름
및 위치를 식별하는 특별히 형식화된 문자열입니다. 이 오류는 도구 체인이 식별된 시크릿을 찾을 수 없거나 시크릿 저장소가 도구 체인에 통합되지 않았음을 표시합니다. 시크릿 참조 {vault:...} 문자열에 있는 하나 이상의 세그먼트가 올바르지 않거나 지정된 그룹, 이름 또는 필드의 키가 시크릿 저장소에 없는 경우 이름별 시크릿 참조에 대해 오류가 발생할 수 있습니다. 시크릿 CRN이 삭제된 시크릿을
참조하는 경우 CRN에 의한 시크릿 참조에 대해 오류가 발생할 수 있습니다.
오류 메시지에 해석할 수 없는 시크릿 참조 문자열이 포함되어 있습니다.
이름별 시크릿 참조에 대해 다음 태스크를 완료하십시오.
- 시크릿 저장소가 도구 체인에 도구로 통합되어 있고 도구 통합이 서비스 인스턴스 이름으로 식별되도록 올바르게 구성되어 있는지 확인하십시오. 도구 통합이 잘못 구성된 경우 도구 통합을 편집하여 오류 조건을 정정한 후 구성을 저장하십시오.
{vault::...}시크릿 참조의 첫 번째 세그먼트가 시크릿 저장소 도구 통합의 이름과 일치하는지 확인하십시오. 예를 들어, 시크릿 참조{vault::my-secret-store.my-secret}는 도구 체인에my-secret-store라는 시크릿 저장소 도구 통합이 있을 것으로 예상합니다. 이 값은 시크릿 저장소 서비스 인스턴스의 이름이 아니라 도구 통합의 이름입니다.- 시크릿이 Key Protect에 저장된 경우,
{vault::...}시크릿 참조의 두 번째 세그먼트가 Key Protect 서비스 인스턴스에서 사용할 키의 이름과 일치하는지 확인하십시오. 예를 들어, 시크릿 참조{vault::my-kms.my-key}는 Key Protect 서비스 인스턴스에서my-key로 이름 지정된 키를 찾을 것으로 예상합니다. 이 서비스 인스턴스는my-kms라는 Key Protect 도구 통합을 사용하여 도구 체인에 통합됩니다. - 시크릿이 Secrets Manager에 저장된 경우,
{vault::...}시크릿 참조의 두 번째 및 세 번째 세그먼트가 Secrets Manager 서비스 인스턴스에서 사용할 시크릿 그룹 및 시크릿의 이름과 일치하는지 확인하십시오. 예를 들어, 시크릿 참조{vault::my-sm.my-group.my-key}는 이름이my-group인 시크릿 그룹에서 이름이my-key인 시크릿을 찾을 것으로 예상합니다. 이 시크릿 및 시크릿 그룹은my-sm라는 Secrets Manager 도구 통합을 사용하여 도구 체인에 통합된 Secrets Manager 서비스 인스턴스 내에 저장됩니다. - 비밀이 HashiCorp Vault 에 저장되어 있는 경우
{vault::...}비밀 참조의 두 번째 및 세 번째 세그먼트가 HashiCorp Vault 서버의 비밀 이름과 비밀 필드와 일치하는지 확인합니다. 예를 들어,{vault::my-hcv.my-secret.my-field}시크릿 참조는 HashiCorp Vault 서버에서my-secret이라는 이름의 시크릿과 해당 시크릿 내에my-field이라는 필드를 찾을 것으로 예상합니다. 이 서버는my-hcv이라는 이름의 HashiCorp Vault 도구 통합을 사용하여 도구 체인에 통합됩니다.
CRN에 의한 시크릿 참조에 대해 다음 태스크를 완료하십시오.
- 시크릿 저장소가 도구 체인에 도구로 통합되어 있고 도구 통합이 서비스 인스턴스 CRN에 의해 식별되도록 올바르게 구성되어 있는지 확인하십시오. 도구 통합이 잘못 구성된 경우 도구 통합을 편집하여 오류 조건을 정정한 후 구성을 저장하십시오.
- 도구 통합에 구성된 Secrets Manager 서비스 인스턴스의 CRN이 실패한 시크릿의 CRN과 동일한 인스턴스를 참조하는지 확인하십시오.
Terraform 또는 API를 사용하여 도구 통합을 구성할 때 A problem was encountered while attempting to resolve secret reference... 오류로 인해 구성이 실패하는 이유는 무엇입니까?
도구 통합은 시크릿에 대한 참조를 사용하여 구성되지만, 도구 체인은 시크릿이 있는 시크릿 저장소에서 시크릿을 검색할 권한이 없습니다.
Terraform 또는 API를 사용하여 도구 통합을 작성하거나 업데이트할 때 A problem was encountered while attempting to resolve secret reference... 오류 메시지와 함께 구성이 실패합니다.
많은 도구 통합에는 시크릿으로 분류되는 구성 특성이 포함되어 있습니다. Terraform 리소스 또는 API 호출에서 이러한 특성을 설정할 때 시크릿 참조 로 설정할 수 있습니다. 시크릿 참조는 도구 체인에 통합된 시크릿 저장소에서 시크릿의 이름 및 위치를 식별하는 특별히 형식화된 문자열입니다. 비밀 저장소 서비스( IBM Cloud 예: Key Protect 및 Secrets Manager )의 경우, 이 오류는 툴체인이 비밀 저장소 서비스와 통신할 수 있지만 해당 서비스에서 비밀을 검색할 권한이 없음을 나타냅니다. 일반적으로 이 문제는 (IAM)에 서비스 간 인증 정책이 없어서 IBM CloudIdentity and Access Management 툴체인이 서비스의 시크릿을 읽을 수 없기 때문에 발생합니다.
오류 메시지에 해석할 수 없는 시크릿 참조 문자열이 포함되어 있습니다.
이름별 시크릿 참조에 대해 다음 태스크를 완료하십시오.
{vault::...}시크릿 참조의 첫 번째 세그먼트를 검사하십시오. 이 세그먼트는 도구 체인에서 시크릿 저장소 도구 통합의 이름입니다. 예를 들어,{vault::my-kms.my-key}시크릿 참조는 이름이my-kms인 시크릿 저장소 도구 통합을 식별합니다.- 시크릿 저장소 도구 통합 구성을 검사하여
name매개변수가 시크릿 저장소 도구 통합의 이름과 일치하는지 확인하십시오. 또한 서비스 인스턴스 이름으로 식별하도록 도구 통합이 올바르게 구성되어 있고 올바른 Key Protect 또는 Secrets Manager 서비스 인스턴스가 선택되어 있는지 확인하십시오. - IAM을 사용하여 도구 체인의 서비스 대 서비스 권한 정책을 Key Protect 또는 Secrets Manager 서비스 인스턴스에 추가하십시오. 권한 부여 정책에서 도구 체인은 소스 서비스이고 시크릿 저장소는 대상 서비스입니다. Key Protect를 대상으로 하는 경우 정책이
Viewer및ReaderPlus역할을 부여하는지 확인하십시오. Secrets Manager를 대상으로 지정할 때 정책이Viewer및SecretsReader역할을 부여하는지 확인하십시오.
CRN에 의한 시크릿 참조에 대해 다음 태스크를 완료하십시오.
- 시크릿 저장소 도구 통합 구성을 검사하여 서비스 인스턴스 CRN으로 식별하도록 올바르게 구성되었는지 확인하십시오. 또한 Secrets Manager 서비스 인스턴스의 CRN이 올바른지 확인하십시오.
- IAM을 사용하여 도구 체인의 서비스 대 서비스 권한 부여 정책을 Secrets Manager 서비스 인스턴스에 추가하십시오. 권한 정책에서 도구 체인은 소스 서비스이고 Secrets Manager 인스턴스는 대상 서비스입니다. 정책이
Viewer및SecretsReader역할을 부여하는지 확인하십시오.
서비스 대 서비스 권한 정책에 대한 자세한 정보는 권한을 사용하여 서비스 간 액세스 부여 를 참조하십시오.
Terraform을 사용하여 도구 체인에서 시크릿 저장소 서비스 인스턴스로 서비스 대 서비스 권한 부여 정책을 구성하는 방법의 예는 Terraform을 사용하여 시크릿 참조 지정 을 참조하십시오.
Terraform 또는 API를 사용하여 Key Protect, Secrets Manager또는 App Configuration 도구 통합을 구성할 때 구성이 실패하는 이유는 무엇입니까?
도구 통합은 존재하지 않는 Key Protect, Secrets Manager또는 App Configuration 서비스 인스턴스를 참조합니다.
Terraform 또는 API를 사용하여, Secrets Manager, 또는 App Configuration 도구 통합을 생성하거나 Key Protect 업데이트할 때, 구성은 오류 There was a problem with the provided service parameters, please check that they are valid 메시지와 함께 실패합니다.
도구 통합은 찾을 수 없거나 액세스할 수 없는, Secrets Manager, 또는 App Configuration 서비스 Key Protect 인스턴스의 이름 또는 ID로 구성됩니다. Terraform을 사용하여 서비스 인스턴스와 도구 통합을 모두 관리하는 경우 Terraform은 서비스 인스턴스를 작성하기 전에 도구 통합을 작성하거나 업데이트하려고 시도할 수 있습니다.
테라폼을 사용 중인 경우, 테라폼 구성을 확인하여, ibm_cd_toolchain_tool_secretsmanager, 또는
ibm_cd_toolchain_tool_appconfig 도구 ibm_cd_toolchain_tool_keyprotect 통합 리소스가 해당 도구 통합이 나타내는, Secrets Manager, 또는 Key ProtectApp Configurationibm_resource_instance 리소스에 종속되어 있는지 확인하십시오. 서비스 인스턴스 자원의 속성을 참조하거나 서비스 인스턴스 자원을 참조하는 depends_on 메타 인수를 지정하여 도구 통합 자원 내에서 이 종속성을 지정할 수 있습니다. 서비스 인스턴스 자원을 직접 참조하거나 다른 중간 자원을 통해 간접적으로 참조할 수 있습니다. 리소스 간의 종속성을 올바르게 선언하여 올바른 순서로 리소스를 작성, 업데이트 및 삭제하도록 Terraform을
강제 실행할 수 있습니다.
Terraform 리소스 간에 종속성이 작동하는 방법에 대한 예는 Terraform을 사용하여 시크릿 참조 지정 을 참조하십시오.
API를 사용 중인 경우 작성하거나 업데이트하려는 Key Protect, Secrets Manager또는 App Configuration 도구 통합의 구성 매개변수를 확인하십시오. 통합하려는 서비스 인스턴스의 이름 또는 ID가 도구 통합의 구성 내에서 올바르게 지정되었는지 확인하십시오.