
저는 CD 및 DevOps 주제를 비교적 처음 접했고, 로컬 추가 테스트 환경에서 잘 작동하는 capistrano를 사용하여 자동 배포를 설정하려고 합니다. 그러나 미래의 대상 환경에서 사용자를 어떻게 설정하는 것이 이상적으로 좋을지 궁금합니다.
예를 들어 Ubuntu Tomcat 설치 절차에서는 tomcat 프로세스를 소유한 tomcat(6|7) 사용자를 설정합니다. 하지만 이 사용자를 사용하여 상자에 SSH로 접속하는 것은 불가능하며 Capistrano의 경우 모든 명령을 실행하려면 SSH 액세스 권한이 있는 사용자가 필요합니다. 사람들은 일반적으로 이 문제를 어떻게 해결합니까? 물론 내 자신의 솔루션을 생각했지만 이에 대한 모범 사례가 있는지 듣고 싶습니다.
결국 내 목표 환경을 설정하는 다른 당사자가 있을 것이지만 이에 대해 내가 말할 수 있으므로 여기서 내가 이상적으로 원하는 것이 무엇인지 알고 싶습니다.
답변1
이를 수행하는 방법에는 여러 가지가 있지만 가장 중요한 방법은sudoSSH 지원 배포 사용자(설정해야 함)가 배포를 수행하는 데 필요에 따라 tomcat 또는 루트를 가장할 수 있도록 시스템을 구축합니다. 실제 코드 디렉터리는 Tomcat이 소유하거나 Tomcat이 파일을 사용할 수 있도록 권한이 설정된 배포 사용자가 소유할 수 있습니다.
desc "Restarts the tomcast service"
task restart_tomcat do
set :user, "deployuser"
run "sudo service tomcat restart", :roles => :tomcat_servers
end
또는 그런 것. sudo에 비밀번호가 필요한 경우 capistrano는 비밀번호를 묻는 메시지를 표시할 만큼 똑똑합니다.
답변2
설정 방법에 대한 패키지의 공식 권장 사항을 확인하세요. 선택한 배포판이 패키지의 문제를 어떻게 관리하는지 살펴보세요. 배포판이나 패키지에 대한 HOWTO가 있을 수 있습니다. 이를 찾아보세요. 그러나 다른 버전에서 이 문제가 어떻게 해결되었는지 읽을 때 주의하세요. 구성과 기능이 한 버전에서 다음 버전으로 급격하게 변경되는 경우가 종종 있습니다(다른 지원 패키지도 변경되었을 수 있습니다).