여기에는 몇 가지 도구 범주가 있습니다. 어떤 사람들은이 범주의 도구를 조합하여 사용합니다. 때로는 Puppet과 Capistrano를 모두 사용합니다. 자세한 내용은 Puppet or Capistrano - Use the Right Tool for the Job을 참조하십시오.
스크립팅 응용 프로그램 배포하기위한 도구 :이 카테고리의 도구를 사용하여 일반적인 패턴이 자주 메이크 파일과 유사한 명령 세트, 스크립트 및/또는 설정 파일을 만들 수 있다는 것입니다
을하고, 도구는 제작 상자로 ssh를 보내고 소스를 체크 아웃하고 필요한 다른 단계를 실행합니다.
이 영역의 도구에는 일반적으로 이전 버전으로 롤백 할 수있는 기능이 있습니다. 따라서 릴리스/디렉토리에 대한 소스를 확인하고 모두 잘 수행되면 "현재"에서 "릴리스 /"로의 심볼릭 링크를 만듭니다. 문제가있는 경우 "현재"를 제거하고 이전 릴리스/디렉토리에 링크하는 명령을 실행하여 이전 버전으로 되돌릴 수 있습니다.
- Capistrano은 레일스 커뮤니티에서 왔지만 범용입니다. Capistrano 사용자는 Capistrano의 배포 방법 집합 인 deprec에 관심이있을 수 있습니다.
- Vlad the Deployer은 Rails 커뮤니티의 카피 스트라 노 (Capistrano)의 대안입니다.
- 쉘 스크립트 나 Makefile을 직접 작성하십시오. 생산 상자에 파일을 가져 오는
옵션 : 소스에서
- 직접 체크 아웃. 제작 상자에 개발 도구, 특히 소스 코드 관리 도구가없는 경우 항상 가능한 것은 아닙니다.
- 소스를 로컬에서 체크 아웃 한 다음 타르거나 압축 해제하십시오. tarball을 복사하려면 scp 또는 rsync를 사용하십시오. 압축 된 타르볼로 시간/대역폭을 절약 할 수있는 Amazon EC2 배포 환경에 선호되는 경우가 있습니다.
- 소스를 로컬에서 체크 아웃 한 다음 프로덕션 상자로 rsync합니다.
포장 도구
앱 파일이 포함 된 패키지를 생성하기 위해 OS의 포장 시스템을 사용. 종속물로 필요한 다른 패키지가있는 마스터 패키지를 만듭니다. 예를 들어, RubyWorks 시스템이 레일 스택과 샘플 애플리케이션을 배치하는 데 사용됩니다. 그런 다음 apt, yum/rpm, Windows msi 등을 사용하여 주어진 버전을 배포하는 데 문제가 있습니다. 롤백에는 이전 버전을 제거하고 다시 설치하는 작업이 포함됩니다. 이 도구는 특히 오히려 애플 리케이션을 유지/배포하는 일반적인 문제를 웹 응용 프로그램을 배포하는 문제를 대상으로하지 않지만
시스템의 설정을 앱/CONFIGS 설치 및 유지 보수 목표로
일반 도구/일련의 서버 또는 회사 전체의 워크 스테이션을 구성합니다. 웹 개발자보다 시스템 관리자를 대상으로하고 있지만 유용하다고 생각할 수도 있습니다.
- Cfengine은이 카테고리의 도구입니다.
- Puppet은 Cfengine을 개선하는 것을 목표로합니다. 그것은 학습 곡선을 가지고 있지만 많은 사람들이 configs를 수행하는 방법을 알아내는 데 가치가 있음을 알게됩니다. 일단 당신이 그것을 가지면, 각 상자는 중앙 서버를 주기적으로 검사하고 모든 것이 최신인지 확인합니다. 다른 사람이 파일을 편집하거나 권한을 변경하면이를 감지하여 수정합니다.따라서 위의 배치 도구와 달리 Puppet은 파일을 올바른 위치에 배치 할뿐만 아니라 파일을 그대로 유지합니다.
- Chef은 비슷한 접근 방식으로 퍼핏보다 약간 젊습니다.
- Smartfrog은이 카테고리의 다른 도구입니다.
- Ansible 일반 YAML 파일을 작동하고는이 범주에서 이들의 비교 및 더 많은 도구
를 관리하는 서버에서 실행되는 에이전트를 필요로하지 않습니다, 위키 피 디아 기사, Comparison of open source configuration management software를 참조하십시오.
와우 (Wow) 7 년 후 ... 이제는 수많은 응용 프로그램 릴리스 자동화 도구가 있습니다. 다음은 더 많은 것을 배우기위한 훌륭한 시작 자료입니다 : https://en.wikipedia.org/wiki/Application_release_automation –