Skip to content

複数バージョンの Ansible を使う

複数バージョンの Ansible を使う published on 複数バージョンの Ansible を使う へのコメントはまだありません

複数の Ansible を使いたい理由

本番環境のプロビジョニングやら開発環境構築で Ansible を使っている人は多いと思う。Ansible はバージョンがどんどん新しくなっていくので、複数のプロジェクトをやっていると、プロジェクト毎に必要とされる Ansible のバージョンが異なって困る、という事が良くある。

VM を使って、隔離された環境を使えば?という意見もあるけど、開発環境構築では、

  • ローカルマシンの Ansible を使用して
  • (Vagrant 等で構築した)VM 上の環境を構築

というケースが結構あるので、Ansible のバージョン毎に異なる VM を使うというのはちょっとやりづらい。

実現方法の案

大抵のプログラム言語では、複数のバージョンを使い分ける仕組みが整っているけど、Ansible にはそういうのが無いようなので、ある程度自分でやる必要がある。

Ansible のインストール方法のページを見ると、色んな方法が用意されている。

複数バージョンを使い分ける方法としては、以下が考えられそう。

  • 複数バージョンのソースを持ってきて、ソースから実行する(Running From Source
  • pyenv 等で複数の Python 環境を用意して、 pip でバージョン指定で Ansible をインストールする

今回は、前者の方法でやった。その途中で後者の方法も思いついたけど、実際に試してはいない。pip でのインストールは、ドキュメントでは Latest Releases Via Pip という見出しだけど、バージョン指定も出来るはず。

Continue reading 複数バージョンの Ansible を使う

Vagrant + Ansible で簡単に開発環境を provision する

Vagrant + Ansible で簡単に開発環境を provision する published on Vagrant + Ansible で簡単に開発環境を provision する へのコメントはまだありません

開発環境構築自動化の動機

ちっちゃなwebシステムを受託でやることもちょこちょこあるんだけど、以下のような理由から、開発環境の自動化をすることにした。

  • 使うフレームワークは大体同じ(CakePHP, Ruby on Rails, Play! framework のいずれか)なのに、毎回同じような環境構築をやるのも面倒くさい
  • 経験の浅いメンバーは、環境構築で詰まりがちなので、その辺は飛ばしていきなり実装に入れるようにしたい

使う技術

最近、メインでやっているプロジェクトで Ansible を使ってデプロイとかをするようにして、ある程度慣れてきたので、今回は Ansible を使うことにした。

開発環境用の仮想環境(VM)作成は、みんな大好き vagrant を使う。

Continue reading Vagrant + Ansible で簡単に開発環境を provision する