capistrano-itamae라는 gem을 만들었습니다.
7203 단어 판 앞Capistrano
이 젬에 대하여
capistrano 에서 판 앞 을 실행하는 gem
동기 부여
itamae ssh
사용법
초기 설정
각각 추가
Gemfilegroup :development do
gem "capistrano-itamae", require: false
end
Capfilerequire "capistrano/itamae"
기본 사용법
on roles
안에 itamae_ssh
desc "Run itamae"
task :itamae do
on roles(:all) do
itamae_ssh "recipe.rb"
end
end
실제로 실행되는 명령
itamae ssh cookbooks/recipe.rb --host=HOST 〜
ssh 관계의 파라미터 1 는 capistrano 로 설정된 것이 자동으로 itamae ssh
여러 레시피를 실행하고 싶을 때
배열로 전달
desc "Run itamae"
task :itamae do
on roles(:all) do
itamae_ssh ["recipe1.rb", "recipe2.rb"]
end
end
실제로 실행되는 명령
itamae ssh cookbooks/recipe1.rb cookbooks/recipe2.rb --host=HOST 〜
옵션을 전달하고 싶을 때 (1)
:itamae_ssh_default_options
로 설정하면 전체에 적용
set :itamae_ssh_default_options, "--node-yaml=node.yml"
desc "Run itamae"
task :itamae do
on roles(:all) do
itamae_ssh "recipe.rb"
end
end
실제로 실행되는 명령
itamae ssh cookbooks/recipe.rb --node-yaml=node.yml --host=HOST 〜
옵션을 전달하고 싶을 때 (2)
itamae_ssh
의 제 2 인수에 건네주면 그 장소만 옵션이 유효하게 된다
set :itamae_ssh_default_options, "--node-yaml=node.yml"
desc "Run itamae"
task :itamae do
on roles(:all) do
itamae_ssh "recipe.rb", "--dry-run"
end
end
실제로 실행되는 명령
itamae ssh cookbooks/recipe.rb --node-yaml=node.yml --dry-run --host=HOST 〜
itamae-template과의 차이
group :development do
gem "capistrano-itamae", require: false
end
require "capistrano/itamae"
desc "Run itamae"
task :itamae do
on roles(:all) do
itamae_ssh "recipe.rb"
end
end
itamae ssh cookbooks/recipe.rb --host=HOST 〜
desc "Run itamae"
task :itamae do
on roles(:all) do
itamae_ssh ["recipe1.rb", "recipe2.rb"]
end
end
itamae ssh cookbooks/recipe1.rb cookbooks/recipe2.rb --host=HOST 〜
set :itamae_ssh_default_options, "--node-yaml=node.yml"
desc "Run itamae"
task :itamae do
on roles(:all) do
itamae_ssh "recipe.rb"
end
end
itamae ssh cookbooks/recipe.rb --node-yaml=node.yml --host=HOST 〜
set :itamae_ssh_default_options, "--node-yaml=node.yml"
desc "Run itamae"
task :itamae do
on roles(:all) do
itamae_ssh "recipe.rb", "--dry-run"
end
end
itamae ssh cookbooks/recipe.rb --node-yaml=node.yml --dry-run --host=HOST 〜
itamae-template 하지만
itamae local
2 전제인데 비해, capistrano-itamae는 (현재) itamae ssh
3itamae local
그럼.요약
덤: capistrano 플러그인의 통합 테스트
이번 경우
itamae ssh
cap deploy
Wercker + DigitalOcean 에서 CI 실행
디렉토리 구성
spec/integration/
├── Capfile
├── Rakefile
├── Vagrantfile
├── config
│ ├── deploy
│ │ └── development.rb
│ └── deploy.rb
├── cookbooks
│ ├── memcached.rb
│ ├── node.yml
│ └── tmux.rb
└── spec
├── memcached_spec.rb
├── spec_helper.rb
└── tmux_spec.rb
통합 테스트 만든 인상
안심감
참고 URL
itamae_ssh
, --host
, --user
, --port
등 ↩서버로 들어가 itamae를 실행하십시오. ↩
ssh 태스크에 itamae를 실행합니다 ↩
Reference
이 문제에 관하여(capistrano-itamae라는 gem을 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sue445/items/5a74e6df4c4b513d1453텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)