Deploy dengan Capistrano
Dasar deployment dengan capistrano
[caption id="attachment_88" align="aligncenter" width="300"] capistrano logo[/caption]
Apa itu capistrano ?
menurut wiki adalah adalah sistem automasi untuk mengeksekusi perintah dengan cara yang terstruktur berulang pada satu atau lebih mesin remote
- install capistrano (disini menggunakan versi 2.0)pastikan memiliki rvm dengan versi ruby >= 2.0jalankan dengan command gem install capistrano
[caption id="attachment_87" align="aligncenter" width="300"] dasar-capistrano[/caption]
- setup capistrano di local
[caption id="attachment_86" align="aligncenter" width="300"] init project dengan Capify[/caption]
contoh deploy.rb
set :application, "xxx_app" set :repository, "git@bitbucket.org:xxx/xxx.git" set :scm, :git set :branch, "master" set :user, "root" set :deploy_via, :remote_cache set :deploy_to, "/home/xxxxx.com/build" set :copy_exclude, ['.git'] role :web, "127.0.0.1" # Your HTTP server, Apache/etc role :app, "127.0.0.1" # This may be the same as your `Web` server role :db, "127.0.0.1", :primary => true # This is where Rails migrations will run role :db, "127.0.0.1"
3. setup capistrano di remote-server
buat handshake antara remote-server dan repository dengan generate publickey
cat ~/.ssh/id_rsa.pub | xclip -sel clip
cat ~/.ssh/id_rsa.pub
ssh -T git@bitbucket.org
pindah ke folder build yang dibuat cap:deploy
git clone git@bitbucket.org:xxx/xxx.git cached-copy
hubungkan dengan symlink
ln -sf /home/xxxxcom/build/current/* /home/xxxx.com/public_html
4. dari local bisa menjalankan perintah
cap deploy:setup
cap deploy:check
setelah ok semua jalankan cap deploy