Ansistranoでのデプロイは?構成管理ansibleと組み合わせる

構成管理のansibleは有名となってきていますが、デプロイソフトであるAnsistrano
はご存知ですか。
ansibleのyaml形式でデプロイができます。

構成管理ツールAnsibleとは

・サーバ環境構築(Infrastructure as Code)
・設定管理(Configuration Management)
・プロビジョニング
・継続的デリバリ
・デプロイ  
https://twitter.com/norimiso/status/1025023280237838339

Ansistranoとは

PHP 、Python や Ruby などのようなスクリプトアプリケーションのデプロイプロセスを簡単に管理するための Ansible ロールです。

Ansibleのrole

        ansistrano.deploy
        ansistrano.rollback

Capistoranoとの関係性は?

AnsibleCapistorano=Ansistrano
Ansistranoのメリット:Rubyを知らなくても設定ファイル(YAML)で記述できる
Capistrano スタイルのデプロイが Ansible で可能になります。
https://twitter.com/tanakahisateru/status/966286575343669248
https://twitter.com/kotarella1110/status/733319834620960768

Ansistranoの使いどころ

デプロイ

・デプロイ作業自動化
・ダウンタイム最小化
・デプロイとデプロイの間で一貫性のある状態を保持
・早急な切り戻し

Ansistranoでできること

デプロイ

・新しいリリースディレクトリをつくる
・リリースフォルダにソースを展開
 必要なものをインストール、ビルドする、なども
・シンボリックリンクを新しいリリースフォルダに設定する

ロールバック(切り戻し

・シンボリックリンクを古いフォルダに設定しなおす
https://twitter.com/symfonycat/status/756488739384352768

Ansistranoのデプロイ手順

ワークフロー

Ansistranoは下記の手順でデプロイを実施する。
・Setup:リリースディレクトリを作成
・Update Code:アプリケーションコードを配置
・Symlink Shared:sharedディレクトリ以下のファイルを配置
・Symlink:シンボリックリンクがリリースディレクトリを向くように設定
・Cleanup:任意の古いバージョンを削除(保管する世代数を設定できる)

デプロイAnsistrano化のために必要な準備

ソース管理

・設定ファイルも含めてアプリケーションに必要なファイルがソース管理されていること
※SVNやGitに限らず、rsyncやrcpを利用したデプロイを書くことも可能

アプリケーション設計

・環境差異が外部化されていること
  環境差異YML設定し、環境ごとに設定ファイルを書き換えてリリースすることができる。環境差異が機械的に判別できることが必要。

 アプリのディレクトリ構成

画像やPDFファイル等

ユーザ設計

  アプリディレクトリにアクセスできるデプロイユーザが必要(デプロイ元、デプロイ先ともに)
https://twitter.com/rrhh_enalquiler/status/740489132431052800
(Visited 60 times, 1 visits today)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする