Tagbangers Blog

Ansibleを使用したMacのセットアップ

はじめに

初めまして、2月3日からタグバンガーズで勤務することになりました清田です。

前職ではNW機器の運用保守をしたり、Ansibleでサーバを構築したりしていました。

初日から

  • TerrformでECRの設定を書いたり
  • minikube上でkubernetesを構築したり

と、モダンな技術が実際に現場で使われていることに驚きが隠せませんでした。

今回の投稿では、入社した方の開発に必要なものを、Ansibleでインストールする手順 について説明をします!

開発者全員がMacを使用しているので、Ansibeの homebrew module を使用し、必要なものをインストールしています。

作業の流れ

1. 開発者にインストールして欲しいものを記載した、playbookを作成

2. homebrewのインストール

3. Ansibleのインストール

4. playbookを実行(開発者のMacに必要なものがインストールされる)

入社した人は、2.~4.を実施して、追加したいものがあれば、1.のプルリクをあげる流れです。

Ansibleの内容

ディレクトリ構成は以下のようにシンプルなものです。

インストールするものが増えてくると変数を別ファイルに分けてもいいかもしれません。

ansible-mac

├── README.md
├── hosts
└── packages.yml

homebrew module のドキュメントを参照しながら、packages.yml にインストールするものを追記します。

# hosts
localhost

# packages.yml(一部抜粋)
   
- hosts: localhost
  connection: local
  vars:
    homebrew_taps:
      - buildpack/tap

    homebrew_packages:
      - name: git
      - name: awscli
      - name: awslogs
      - name: tfenv
      - name: minikube
      - name: pack

  tasks:
    - name: homebrew update
      homebrew:
        update_homebrew: yes

    - name: homebrew tap
      homebrew_tap:
        name: '{{ item }}'
        state: present
      with_items: '{{ homebrew_taps }}'

    - name: homebrew packages install
      homebrew:
        name: '{{ item.name }}'
        state: '{{ item.state | default("present") }}'
      with_items: '{{ homebrew_packages }}'


実行

homebrewのインストール

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Ansibleのインストール

$ brew install ansible

Dry run

$ ansible-playbook -i hosts packages.yml --check

Run

$ ansible-playbook -i hosts packages.yml

これで必要なものがインストールできました!

所感

必要なものがインストールでき、すぐに開発メンバーとしてjoinすることができました。

また、新しく入社する人が使用するたびにブラッシュアップしていくこと も素晴らしいと感じました。

今回の私のケースですと、EKS利用しているプロジェクトに関連する

  • minikube
  • pack
  • tfenv

といったパッケージ追加のプルリクを作成しました。

Ansibleを使用したMacのセットアップ、おすすめです!