LoginSignup
17
13

More than 5 years have passed since last update.

Elixirの環境構築をAnsibleのRoleで行う

Last updated at Posted at 2015-02-21

Elixirをインストールする際、ローカルの開発環境(のMac)であれば

$ brew update
$ brew install elixir

で済むんですが、本番/ステージングサーバーや、Vagrant等の仮想環境にインストールする場合は、以下の様な作業が必要になり、わりかし手間だったりします。もっとライトにやりたいです。

  • Erlangをインストール
  • Elixirをインストール
  • (必要なら)パスを設定
  • etc

そこで、良いAnsible(ライトにという事なのでchefは候補から外しました)のRoleが無いかAnsible-Galaxyで探したんですが、

  • Erlangをaptでインストールしているのでバージョンアップができない/遅い
  • Elixirのバージョンが0.15.0固定(公式のzipを取得/解凍/binに配置)

というものしかなくて(残念ながら2015/2/22時点でこの1つだけ)、ちょっと実運用には耐えられんかなーという事で作成しました。

方針としては

  • kerlでErlangのバージョンを指定してインストール
  • Githubのelixirリポジトリをcloneしてmake install
  • まずはCentOS/Fedora/AmazonLinuxをサポート(Ubuntu/Debianは現在対応中)
  • Ansible-Galaxyに公開

という感じでRoleを作成してあります。

https://github.com/ohr486/ansible-elixir
https://galaxy.ansible.com/list#/roles/2930

利用方法は、galaxyからroleをインストールして、roles指定のplaybookを実行するだけです

$ ansible-galaxy install ohr486.elixir
install_elixir.yml
- hosts: target-server
  sudo: yes
  roles:
     - { role: ohr486.ansible-elixir, erlang_version: 17.4, elixir_version: v1.0.3 }
$ ansible-playbook install_elixir.yml

Vagrant/Docker等と組み合わせると、開発環境構築が捗るのではないでしょうか。

17
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
13