
VM에서 여러 저장소를 복제한 다음 여기에 소프트웨어를 구축해야 합니다. 꽤 좋은 빌드 스크립트가 있지만 한 가지 문제가 있습니다. 빌드하기 전에 여러 저장소를 복제해야 하며 일부 보안 업데이트 후에는 공개 키를 git 서버에 추가할 수 없으며 지원되는 프로토콜만 ssh입니다.
복제 명령은 다음과 같습니다.
git clone ssh://[email protected]:YYYY/repoB
하지만 그 수가 너무 많아서 각각의 암호를 전달하는 것은 정말 짜증나고 시간 소모적입니다.
내가하려는 것은 자동으로 암호를 복제 명령에 전달하는 것입니다. userA:passwordA@git-ger....를 추가하려고 했지만 ssh가 아닌 HTTPS에서만 작동합니다. 자동 배포를 수행하려면 Ansible과 같은 일부 자동 도구로 전환해야 한다는 것을 알고 있지만 전체 빌드 프로세스를 다시 작성하는 데 많은 시간이 걸렸습니다.
내 질문은 서버에서 아무것도 변경하지 않고 저장소 복제에 자동으로 암호를 전달할 수 있는 방법입니다. 이상적으로는 bash 수준에서 이 작업을 수행하는 것입니다. git clone을 입력한 후 줄을 읽으려고 했지만 나에게도 효과가 없었습니다. 어떤 도움이라도 감사하겠습니다
답변1
IMO 최고의 솔루션은 사용자 지정 GIT_ASKPASS
도우미를 사용하고 암호를 다른 환경 변수로 전달하는 것입니다. 예를 들어 다음과 같이 파일을 생성합니다 git-askpass-helper.sh
.
#!/bin/sh
exec echo "$GIT_PASSWORD"
그런 다음 git clone https://username@hostname/repo
환경 변수 GIT_ASKPASS=/path/to/git-askpass-helper.sh
와 GIT_PASSWORD=nuclearlaunchcodes
.