はじめに
初めまして、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.ymlhomebrew 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のセットアップ、おすすめです!
