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