2012-07-13 6 views
0

저는 Capifony를 통해 Debian 서버에 Symfony 2 응용 프로그램을 배포하고 있습니다. 응용 프로그램의 기본 저장소는 비공개이지만 작곡가 설치를 통해 일부 개인 저장소가 포함됩니다. 이로 인해 문제가 발생합니다.Capifony Deploy 내부 공급 업체 파일에 대한 암호가 필요합니다.

기본 저장소가 올바르게 복제됩니다. 나는 공개 키 설정, 암호의 자동 입력을 가능하게하는 scm:passphrase: 정의와 다음 줄에 암호 설정이 있습니다

default_run_options[:pty] = true 

나는 암호가 가지고있는 개인 저장소에 필요한 업체를 설치하고 프로젝트에 필요합니다. 이미 저의 저장소에 연결할 수있는 개인/공개 키가 있습니다. 이는 그냥 out 때문에 내가 어떤 암호를 입력 할 수 없습니다 나타납니다

** [out :: 106.187.50.216] Cloning master 
** [out :: 106.187.50.216] Enter passphrase for key '/home/deploy/.ssh/id_rsa': 

: 그것은 다음을 반환합니다. 나는 암호문을 공유 했음에도 불구하고 composer.phar install이 동일한 Capifony 설정을 사용하지 않는 것처럼 보입니다.

답변

0

해결 방법은 암호가없는 키를 사용해야합니다. 이를 github에 배포 키로 설정하거나 필요한 몇 가지 저장소에 읽기 전용으로 액세스 할 수있는 새 계정을 만들 수 있습니다. 그렇게하면 키 손실로 인한 위험 부담없이 편리함을 얻을 수 있습니다.

적절한 해결책을 찾으려면 무엇이 필요한지 잘 모르겠습니다. issue on composer을 열어 더 자세히 논의 할 수 있습니다. 기본적으로 작곡자는 일반적인 git clone 명령을 사용하는데 특별한 것은 없으며, capifony가 초기 프로젝트 체크 아웃에서 키 잠금을 해제하는 특별한 작업을한다고 상상합니다.

+0

배치 키를 암호없이 변경했습니다. 나는 Composer git password/passphrase 요청이 동일한 변수가 배치되도록 호출하는 Capifony 배포와 함께 "버블 링"될 수 있는지 궁금합니다. 이것이 작성자 이슈인지 아닌지 확실하지 않습니다. – frodosghost

0

Capistrano/capifony는 실시간으로 출력을 처리합니다. Git이 암호를 묻는 메시지를 표시하면 암호문과 마찬가지로 사용자의 암호를 자동으로 제공합니다. 이것은 Capistrano의 Git 클래스에서 볼 수있는 Capistrano의 일부입니다 : https://github.com/capistrano/capistrano/blob/master/lib/capistrano/recipes/deploy/scm/git.rb#L255.

암호없는 전략을 사용하거나 ssh-agent를 사용할 수 있다고 생각합니다.

+0

나는이 권리를 읽었는지 확실하지 않지만이 파일은 프로젝트 저장소가 아닌 작곡가 설치 프로그램에서 git password/passphrase가 요구되면 호출되지 않는 것으로 보입니다. 암호가없는 키가 가장 간단한 해결책이라고 생각합니다. – frodosghost

+0

나는 그것이 불리지 않다는 것을 안다. 나는 Git만을위한 프로세스를 설명했다. Composer에서는 그렇지 않다. 그래서 암호가 필요없는 전략이나 시스템에 암호 구문을 유지하는 ssh-agent를 사용하여이 공통적 인 문제를 해결하도록했습니다. –