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