php製のデプロイツール「Rocketeer」を導入してみた

rocketeer

お手軽にデプロイができるツール「Rocketeer(ロケッティア)」を試してみました。巷には色々デプロイ環境がありますが、静的なサイトの管理程度であればこういった軽量ツールの方が適しているかもしれません。




■完成イメージ(やりたい事)

・「Rocketeer」を使ってgitのリモートリポジトリからwebサーバへデプロイする
・Rocketeerの環境、リモートリポジトリの設置環境、webサーバはそれぞれ別のサーバとする
・リモートリポジトリはsshで接続できる外部サーバに設置

■セットアップ

参考)http://rocketeer.autopergamene.eu/#/docs/docs/I-Introduction/Getting-started

公式サイトの情報を元にrocketeerの実行ファイルをインストールします。

# wget http://rocketeer.autopergamene.eu/versions/rocketeer.phar
# chmod +x rocketeer.phar
# mv rocketeer.phar /usr/local/bin/rocketeer

■設定ファイルの作成(ignite:点火する)

# cd /home/hanamogera
# mkdir works
# cd works
# rocketeer ignite

※基本的な情報を質問されますが、後で直接ファイルを編集するので全てエンターでスキップ
※カレントディレクトリに「.rocketeer」ディレクトリが生成されているのを確認

■設定ファイルの編集

'connections'      => [
  'production' => [
    'host'      => 'www.memento-mori.jp:22',
    'username'  => 'hanamogera',
    'password'  => '',
    'key'       => '/root/.ssh/www.memento-mori.jp.key',
    'keyphrase' => '',
    'agent'     => '',
    'db_role'   => true,
  ],
],
'root_directory' => '/var/www/vhosts/',
'app_directory'  => 'www.memento-mori.jp',
'repository' => 'ssh://username@www.memento-mori.jp:22/home/reposuser/memento-mori.git',
'username'   => 'username',
'password'   => 'password',
'branch'     => 'master',

■デプロイ

# rocketeer deploy
正常動作の確認(デプロイ先にて)
# ls /var/www/vhosts/www.memento-mori.jp/
ひとつ前のリリースディレクトリへのロールバック
# rocketeer rollback
番号指定でのロールバック
# rocketeer rollback --list
※ここにリストが表示される
# Which one do you want to go back to ? (0)

※そのままエンターなら最新(0)がカレントディレクトリになり、番号を指定すればそのディレクトリがカレントディレクトリにリンクされる