メモ

開発している時のメモです

開発環境の構築について

  1. List item

環境の構築についてのお話です。

はじめに

  • みなさんどんな方法で開発環境の構築を行っていますか?

色々な構築方法をまとめてみました。

1. 自分のマシンにインストール

  • 昔ながらの方法ですね。

  • 同一言語の複数バージョンをインストールする場合等はかなり大変になってしまいます。

  • メリットとしてはインストール方法以外は覚えなくていいことぐらいですかね。

  • 使用用途はiosアプリ開発等ですかね。(Macじゃないと動かないので)

2. Virtualenvを使用

  • 自分のマシンにVirtual環境を構築することによって自分のマシン内で環境の切り替えができること、切り替えが簡単なことがいいと思います。

  • 使用用途は各言語の複数バージョンを使用する環境が必要な場合ですかね←あんま使ったことないです。

3. VagrantのBoxで管理

  • 一つのBoxファイルを作成してそのBoxファイルを一つの環境として管理するので環境が一式そろってわかりやすいですね。

  • 共有するのはBoxファイルのみもしくはVagrantfileが追加されるぐらいなので楽ですね

  • バックアップも簡単、環境の共有も簡単です。

  • デメリットとしては環境が変わったらBoxファイルを作りなおす必要があるのとVagrantを覚えなくてはならないこと(簡単なんですけどね)

  • 使用用途はざっくりとした環境を用意しておく時に使いますね。(例えばLAMP環境で用意しとくと実行環境がすぐ手に入る)

4. Vagrant+Chefで管理

  • 3と似てますね。ただ、あくまでVagrantは最低限のBoxのみでインストール情報等はChefで行います。

  • デメリットはVagrantとChefの両方を覚えないといけないことですかね。

  • 使用用途はある程度複雑で大きい環境を構築する際はChefで環境構築のコード化をしておかないとわからなくなっちゃいますからそういう時に使いますね。

5. Vagrant+Shellで管理

  • 4のChefの代わりにShellScriptを使うだけです。実はVagrantはVagrantfileの中にShellScriptがかけるんです。

  • デメリットはVagrantとShellScriptを覚えないといけないことですかね。

  • 使用用途はVagrantのBoxを作るのはめんどくさいけどChefを使用するまでもない場合ですね(実際インストールぐらいだったら冪等性の確保はできますし)

てきとうに自分用に書きました。メモメモ