はじめに
開発環境のセットアップは、プロジェクトごとに異なるライブラリやツールを整える必要があり、時間がかかる作業です。さらに、メンバー全員が同じ環境を持つことは再現性や品質の観点からも重要です。
そこで役立つのが Ansible を使った環境構築の自動化です。本記事では、Linux環境上でAnsibleを利用し、開発環境を完全自動化する方法を解説します。
Ansibleとは?
Ansibleは、サーバー構築やアプリケーションのデプロイを自動化するための構成管理ツールです。
特徴は以下の通りです。
- エージェントレス:対象サーバーに専用ソフトを入れる必要がなく、SSHで操作可能
- 宣言的な構成:YAMLで環境構築の手順を記述できる
- 再利用性:Playbookを流用してプロジェクト間で同じ環境を再現できる
開発環境自動化のメリット
- 環境差異の解消:チーム全員が同じ環境を持てる
- 作業効率アップ:数十分かかっていたセットアップが数分で完了
- 再現性:新しいメンバーが参加しても即座に環境を再現可能
- 保守性:設定の変更履歴をGitで管理できる
前提環境
この記事では以下の環境を例に説明します。
- OS: Ubuntu 22.04 LTS
- Ansible: 2.15 以上
- 開発ツール: Python / Java / Docker
Ansibleのインストール
まずはコントロールノード(Ansibleを実行するPC)にAnsibleをインストールします。
sudo apt update
sudo apt install -y ansible
ansible --version
インベントリファイルの設定
管理対象サーバーを定義するファイルです。例えばローカルVMやリモートサーバーを対象にします。
# hosts.ini
[dev]
192.168.56.101 ansible_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa
Playbookの作成例
以下はPython、Java、DockerをまとめてセットアップするPlaybookの例です。
# setup.yml
- hosts: dev
become: yes
tasks:
- name: Update apt
apt:
update_cache: yes
- name: Install common packages
apt:
name: [git, curl, unzip]
state: present
- name: Install Python
apt:
name: [python3, python3-pip, python3-venv]
state: present
- name: Install Java (OpenJDK 17)
apt:
name: openjdk-17-jdk
state: present
- name: Install Docker
apt:
name: docker.io
state: present
実行方法
Playbookを実行して自動で環境を構築します。
ansible-playbook -i hosts.ini setup.yml
数分後には、必要な開発環境がすべて整った状態になります。
応用:Roleを使った構造化
プロジェクトが大規模になる場合、Role を使うとより管理しやすくなります。
roles/python/
roles/java/
roles/docker/
このように分割すれば、環境ごとにモジュール化して再利用できます。
まとめ
Linux上でAnsibleを活用すれば、煩雑な開発環境構築を完全に自動化できます。
- 手作業 → 自動化で再現性・効率性が向上
- PlaybookでPython・Java・Dockerをまとめて導入
- Roleを使えば大規模プロジェクトでも保守しやすい
チーム開発をスムーズに進めたい方は、ぜひAnsibleによる環境構築自動化を導入してみてください。
👉 次回は「Ansible+Docker Composeでマイクロサービス開発環境を自動構築する方法」について解説予定です。