centos 7.2 に capistrano をインストールしてみる

centos 7.2 に capistrano をインストールしてみる

デプロイ実行側: 192.168.33.10
web1: 192.168.33.11
web2: 192.168.33.12

ruby をバージョン指定してインストールする

rubyenv のインストール

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ cd ~/.rbenv/plugins/ruby-build
$ sudo ./install.sh
$ rbenv -v

ruby のインストール

$ sudo yum install openssl-devel readline-devel zlib-devel
$ rbenv install -l
$ rbenv install 2.4.0
$ rbenv rehash
$ rbenv global 2.4.0
$ ruby -v
$ gem -v

capistranoをインストール

$ gem install capistrano
$ cap --version

cap作業ディレクトリを作って設定ファイルを用意
cap一式がインストールされる

$ mkdir captest
$ cd captest
$ cap install

基本的に修正するのは2ファイル
全体的な設定 ⇒ config/deploy.rb
環境個別の設定 ⇒ config/deploy/development.rb

個別設定ファイルを修正

$ vi config/deploy/development.rb
----
lock "3.7.1"
set :repo_url, 'http://user_name:password@gitlab_host_name/repo_user/repo_name.git'
----

個別の設定ファイルをconfig/deploy/配下に、production.rbとstaging.rbは用意されているのが、、development.rbも用意

$ vi config/deploy/development.rb
----
# デプロイ先のサーバ情報を列挙する
role :web, %w{vagrant@192.168.33.11, vagrant@192.168.33.12}

# デプロイするディレクトリの場所
set :deploy_to, '/tmp/captest'

# サーバー毎の設定
server '192.168.33.11', user: 'vagrant', roles: %w{web}, ssh_options: {
    keys: %w(~/.ssh/id_rsa),
    password: 'vagrant',
}

# サーバー毎の設定
server '192.168.33.12', user: 'vagrant', roles: %w{web}, ssh_options: {
    keys: %w(~/.ssh/id_rsa),
    password: 'vagrant',
}
----

config/deploy/development.rb に書かれた内容を実行する

$ cap development deploy