반응형
Capistrano-이전 릴리즈 정리
일반적으로 capistrano를 사용할 때는 배포 된 응용 프로그램에서 이전 릴리스를 수동으로 삭제합니다. 나는 당신이 달릴 수는 cap deploy:cleanup
있지만 여전히 5 개의 릴리스를 남긴다 는 것을 이해 합니다. 이것이 의도 된 목적입니까? 이전 릴리스를 1 개의 이전 배포로 정리하는 다른 방법이 있습니까?
:keep_releases
변수를 사용하여 기본값 인 5를 대체 할 수 있습니다 . 이것을 확인하십시오 .
deploy.rb에서이를 설정하면 자동으로이를 수행 할 수 있습니다.
set :keep_releases, 1
after "deploy:update", "deploy:cleanup"
과거 (이것은 정확히 어떤 버전인지 모르겠습니다)이 콜백은 기본값이지만 나중에 개발자는 사용자에게 결정하도록 결정했습니다. capistrano 3에서는 기본 배치 플로우에 다시 추가되었습니다.
예를 들어 마지막 3을 제외한 모든 릴리스를 삭제하려면 다음을 실행할 수 있습니다.
cap deploy:cleanup -s keep_releases=3
나는 비슷한 문제가 있었다. 일반 배포를 위해 5 개의 릴리스를 유지하고 싶었지만 특정 상황에서 모든 이전 릴리스를 제거 할 수 있어야했습니다.
나는 사용자 정의 작업 으로이 작업을 수행 할 수있었습니다. 파일을 작성 lib/capistrano/tasks/cleanup.rake
하고 다음 코드를 추가하십시오.
desc "Remove all but the last release"
task :cleanup_all do
set :keep_releases, 1
invoke "deploy:cleanup"
end
사용 bundle exec cap staging cleanup_all
하거나cap staging cleanup_all
참고 URL : https://stackoverflow.com/questions/2121957/capistrano-clean-up-old-releases
반응형
'programing tip' 카테고리의 다른 글
C #의 자연 정렬 순서 (0) | 2020.07.08 |
---|---|
왜 자동 a = 1입니까? (0) | 2020.07.08 |
C ++ 16 진 문자열을 부호있는 정수로 변환 (0) | 2020.07.08 |
Android UI에서 둥근 사각형을 그리는 방법은 무엇입니까? (0) | 2020.07.08 |
명령 행을 통해 Android Studio 앱 빌드 (0) | 2020.07.07 |