문제 해결

이 페이지에서는 Secure Source Manager 문제를 해결하는 방법을 보여줍니다.

저장소를 만들 때 표시되는 오류 메시지

저장소를 만들려고 하면 다음 오류가 표시됩니다.

There was an error while loading /repo/create. Try refreshing the page.

이 문제는 다음과 같은 경우에 발생합니다.

  • 프로젝트에서 Secure Source Manager API가 사용 설정되지 않았습니다.
  • 프로젝트에 저장소 관리자 역할이 없거나 Secure Source Manager 인스턴스에서 저장소를 만들 권한이 없습니다.

이 문제를 해결하려면 다음 안내를 따르세요.

  • 프로젝트에서 Secure Source Manager API를 사용 설정합니다.
  • 관리자에게 다음 역할을 부여해 달라고 요청하세요.
    • 프로젝트의 저장소 관리자 (roles/securesourcemanager.repoAdmin) 역할
    • Secure Source Manager 인스턴스의 인스턴스 접근자 (roles/securesourcemanager.instanceAccessor)
    • Secure Source Manager 인스턴스의 인스턴스 저장소 생성자(roles/securesourcemanager.instanceRepositoryCreator)

자세한 내용은 IAM으로 액세스 제어를 참고하세요.

Mac에서 저장소를 클론할 때 오류 메시지

저장소를 클론하려고 하면 다음 오류가 표시됩니다.

git: 'credential-gcloud.sh' is not a git command.  See 'git --help'.
fatal: Authentication failed for [repo-url]

이 문제는 다음과 같은 경우에 발생합니다.

  • gcloud CLI가 Homebrew 또는 기타 비표준 설치를 사용하여 설치됩니다.
  • git-credential-gcloud.sh이 PATH에 추가되지 않습니다.

이 문제를 해결하려면 다음 안내를 따르세요.

  • source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc 실행
  • 다음 명령어를 실행하여 git-credential-gcloud.sh가 경로에 있는지 확인합니다.

    which git-credential-gcloud.sh
    

권한 거부 또는 승인되지 않음 오류로 인해 Git HTTPS 요청이 실패함

HTTPS를 통해 Git 명령어를 시도하면 권한 거부 또는 승인되지 않음 오류 메시지가 표시됩니다.

이 문제는 다음 중 하나가 발생하는 경우에 발생합니다.

  • 전역 Git 구성 파일에 Secure Source Manager 인증 도우미가 누락되어 있습니다.
  • 새 사용자 인증 정보를 가져오기 위해 Secure Source Manager 인증 도우미를 호출하는 대신 Git의 내장 사용자 인증 정보 저장소가 사용되고 있습니다.
  • 새 사용자 인증 정보를 가져오기 위해 Secure Source Manager 인증 도우미를 호출하는 대신 시스템 사용자 인증 정보 도우미가 사용되고 있습니다.
  • HTTPS를 사용하여 Secure Source Manager 저장소와 상호작용할 때는 이전 버전의 Google Cloud CLI가 사용됩니다. Secure Source Manager에는 Google Cloud CLI 버전 395.0.0 이상이 필요합니다.

이 문제를 해결하려면 다음 안내를 따르세요.

  1. 다음 명령어를 실행하여 전역 Git 구성의 콘텐츠를 확인합니다.

    git config --list | grep credential
    
  2. macOS에서 *credential*.helper=store와 유사한 행이 표시되거나 Windows OS에서 credential.helper = manager와 유사한 행이 표시되면 해당 행을 삭제한 후 gcloud auth login를 사용하여 다시 인증한 다음 Git 명령어를 다시 시도하세요.

  3. macOS 또는 Linux의 경우 credential.https://*.*.sourcemanager.dev.helper=gcloud.sh, Windows의 경우 credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd가 대답에 포함되지 않으면 전역 Git 구성에 Secure Source Manager 인증 도우미를 추가합니다.

    Linux

    1. 전역 Git 구성에 Secure Source Manager 인증 도우미를 추가하려면 다음 명령어를 실행합니다.

      git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
      
    2. 다음 명령어를 실행하여 인증 도우미 줄이 전역 Git 구성에 추가되었는지 확인합니다.

      git config --list | grep credential
      

      출력에는 credential.https://*.*.sourcemanager.dev.helper=gcloud.sh이 포함되어야 합니다.

    3. gcloud auth login을 실행하여 인증합니다.

    4. Git 명령어를 실행하여 인증을 테스트합니다.

    Windows

    1. Git 및 Google Cloud CLI 설치 안내에 따라 gcloud CLI 버전을 확인합니다.
    2. 전역 Git 구성에 Secure Source Manager 인증 도우미를 추가하려면 다음 명령어를 실행합니다.

      git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
      
    3. 다음 명령어를 실행하여 인증 도우미 줄이 전역 Git 구성에 추가되었는지 확인합니다.

      git config --list | grep credential
      

      출력에는 credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd이 포함되어야 합니다.

    4. gcloud auth login을 실행하여 인증합니다.

    5. Git 명령어를 실행하여 인증을 테스트합니다.

잘못된 토큰으로 인해 Git HTTPS 요청이 실패함

Git HTTPS 작업의 비밀번호로 유효한 OAuth 토큰이 필요합니다. 이는 일반적으로 Git 사용자 인증 정보 도우미에서 처리하지만 다른 접근 방식 (예: 애플리케이션 기본 사용자 인증 정보)을 사용하여 생성된 OAuth 토큰과도 작동할 수 있습니다.

잘못된 토큰으로 인해 Git 요청이 거부되면 일반적으로 수신 토큰에서 사용자 정보를 추출할 수 없음을 의미하며, 이 오류의 원인은 여러 가지일 수 있습니다.

  • gcloud CLI 로그인이 만료되었을 수 있음

    gcloud auth login을 사용하여 다시 로그인합니다.

  • 토큰의 범위가 충분하지 않습니다. OAuth 토큰에는 다음 범위가 있어야 합니다.

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/userinfo.email

    curl https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}를 호출하여 토큰 범위를 확인할 수 있습니다.

  • GKE Fleet 워크로드 아이덴티티에서 생성된 토큰을 사용하고 있습니다.

  • 특정 경계 외부에서 토큰을 사용하지 못하도록 하는 조직 정책(예: 컨텍스트 인식 액세스)이 있습니다.

    Secure Source Manager는 기본적으로 컨텍스트 인식 액세스를 지원하지 않습니다. 다음 단계를 진행하려면 지원팀에 문의하세요.

웹 인터페이스 제품 선택기에 프로젝트가 표시되지 않음

Secure Source Manager 웹 인터페이스 제품 선택기를 사용하면 프로젝트가 표시되지 않습니다.

이 문제는 Secure Source Manager의 로그인 사용자 인증 정보가 여러 개인 경우에 발생합니다.

이 문제를 해결하려면 다음 안내를 따르세요.

  • Secure Source Manager 인스턴스 URL에 다음을 추가하여 쿠키를 삭제합니다. /_oauth/consent

    예를 들어 인스턴스 URL이 https://my-instance-098765432123.us-central1.sourcemanager.dev/인 경우 브라우저 주소 표시줄에 https://my-instance-098765432123.us-central1.sourcemanager.dev/_oauth/consent을 입력한 다음 올바른 사용자 인증 정보로 로그인합니다.

트리거 파일이 빌드를 트리거하지 않음

트리거 파일을 제출한 후 빌드가 예상대로 트리거되지 않으면 다음 문제 중 하나가 있을 수 있습니다.

  • 트리거 파일이 기본 브랜치에 없습니다. 이 문제를 해결하려면 트리거 파일을 기본 브랜치로 이동하세요.
  • 트리거 파일의 형식이 잘못되었습니다. 이 오류는 저장소 페이지에 Build triggers configuration error: ...라는 배너로 표시됩니다. 이 문제를 해결하려면 트리거 파일 스키마를 참고하세요. 트리거 파일 구성이 올바르면 저장소 페이지의 배너에 Valid build triggers configuration가 표시됩니다.

빌드 트리거 구성 오류

triggers.yaml 파일을 Secure Source Manager 저장소에 제출한 후 배너에 다음 오류가 표시됩니다.

Build cannot be created.

이 문제는 다음과 같은 이유로 발생합니다.

  • Cloud Build 구성 파일에 잘못된 옵션이 있습니다.
  • Cloud Build 구성 파일의 형식이 잘못되었습니다.
  • Secure Source Manager 서비스 계정에 사용자 지정 Cloud Build 서비스 계정을 사용하는 데 필요한 권한이 없습니다.

문제 해결 방법

  • 올바른 트리거 파일 스키마를 따르고 있는지 확인합니다.
  • Secure Source Manager 서비스 계정과 Cloud Build 서비스 계정에 충분한 권한이 있는지 확인합니다. 필요한 권한을 보려면 필수 서비스 계정 역할을 참고하세요.

실행 중에 빌드가 실패함

빌드가 성공적으로 트리거되었지만 실행 중에 실패하면 연결된 커밋에 실패 커밋 상태가 있습니다.

실패한 빌드의 문제를 해결하려면 저장소 페이지에서 실패한 커밋 상태 옆에 있는 세부정보를 클릭합니다.

Cloud Build 실행 로그가 열립니다. Cloud Build에서 빌드 문제 해결에 대한 자세한 내용은 빌드 오류 문제 해결을 참고하세요.