비밀번호를 기억하도록 Git 가져오기 - git 자격 증명 관리자 예제

4955 단어 gitdevopscicd
때때로 원격 저장소를 사용할 때 https를 통해 암호 기반 인증을 사용해야 합니다.

CI/CD 파이프라인에서 사용하는 경우 비대화식으로 수행해야 하며 원격 URL에 암호를 노출하지 않아야 합니다.

이를 위해 git 자체credential manager를 사용할 수 있습니다.

다음은 이를 이해하고 사용하는 데 도움이 되는 몇 가지 예입니다.

  • TL;DR (Full Example)
  • Setup
  • Add password, pull from repo
  • Clean-up


  • More Examples
  • Save credentials
  • Get credentials
  • Selectively remove credentials


  • 핵심 요약(전체 예)



    설정




    # Get a shell into git container
    docker run --rm -it --entrypoint=/bin/sh alpine/git:v2.34.2
    
    # Store credentials to file
    git config --global credential.helper store
    # Note: To store in memory (for 1 day)
    # git config --global credential.helper 'cache --timeout=86400'
    
    # Clean out existing credentials
    rm ~/.git-credentials
    
    # Force non-interactive mode
    export GIT_TERMINAL_PROMPT=0
    


    암호 추가, 저장소에서 복제



    비밀번호 추가

    git credential approve <<'EOT'
    url=https://example.com/jsmith/testrepo.git
    username=jsmith
    password=abc123
    EOT
    


    복제 저장소 - 암호를 묻거나 노출하지 않음 😉️

    git clone https://[email protected]/jsmith/testrepo.git
    


    대청소




    rm ~/.git-credentials
    exit
    


    더 많은 예



    자격 증명 저장




    git credential approve <<'EOT'
    url=https://example.com
    username=user0
    password=0000
    EOT
    
    git credential approve <<'EOT'
    url=https://example.com/test-group/test-repo1.git
    username=user1
    password=1111
    EOT
    
    git credential approve <<'EOT'
    url=https://example.com/test-group/test-repo2.git
    username=user2
    password=2222
    EOT
    


    자격 증명 얻기




    git credential fill <<'EOT'
    url=https://example.com/test-group/test-repo1.git
    username=user1
    EOT
    
    git credential fill <<'EOT'
    url=https://example.com/test-group/test-repo2.git
    username=user2
    EOT
    
    git credential fill <<'EOT'
    url=https://example.com
    username=user0
    EOT
    


    자격 증명을 선택적으로 제거




    git credential reject <<'EOT'
    url=https://example.com
    username=user2
    EOT
    
    # Ensure it's removed - expect to error-out with "fatal: could not read Password for 'https://[email protected]': terminal prompts disabled"
    git credential fill <<'EOT'
    url=https://example.com/test-group/test-repo2.git
    username=user2
    EOT
    

    좋은 웹페이지 즐겨찾기