Deploy dengan Capistrano

Dasar deployment dengan capistrano

[caption id="attachment_88" align="aligncenter" width="300"]capistranologo 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

  1. 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 dasar-capistrano[/caption]

  2. setup capistrano di local

[caption id="attachment_86" align="aligncenter" width="300"]init project dengan Capify 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

comments powered by Disqus