nikuyoshiのブログ

記事の内容については個人の見解であり、所属企業の意見を代表するものではありません

Ansibleで開発環境を管理する

このエントリーは Ansible Advent Calendar 2019 10日目の記事です。 qiita.com

複数の開発端末で設定を統一、管理したいことってありませんか? 例えばドットファイル(.vimrc.gvimrc.pecorc etc...)の設定、Homebrew、yumのようなパッケージ管理コマンドを端末毎(ex. 会社の開発端末、プライベートの開発端末 etc...)に毎回叩き直すのって結構大変ですよね。それらを解決するために1年前からAnsibleで管理し始めたのですが、実際どんな感じで管理しているのか明記したことがなかったので、メモがてら記載します。

リポジトリ

github.com

新しい端末が来たら、git clone ... → Ansible インストール → ansible-playbook site.yml で設定完了です。 上記リポジトリroles/osx/tasks/main.yml を見れば何をしているか分かると思いますが、ざっくり説明すると以下の通りです。

  1. ドットファイル関連の設定
  2. Homebrewパッケージ類のインストール
  3. Git関連の設定
  4. macOS関連の設定

上記リポジトリのようなPlaybookを新規で作るための全体の流れ

  1. Ansibleのインストール
  2. Ansible Playbook用のディレクトリ作成 (ex: mkdir dev-pc-provisioning)
  3. 上記ディレクトリ(dev-pc-provisioning)で site.ymlansible.cfg を作成
  4. dev-pc-provisioning ディレクトリに移動して、Ansible Roleの作成 ansible-galaxy init --init-path=. osx
  5. 必要に応じてtasksvars フォルダ配下の設定変更をして ansible-playbook site.yml を実行