Linux+Ansibleで開発環境構築を完全自動化

はじめに

開発環境のセットアップは、プロジェクトごとに異なるライブラリやツールを整える必要があり、時間がかかる作業です。さらに、メンバー全員が同じ環境を持つことは再現性や品質の観点からも重要です。
そこで役立つのが 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でマイクロサービス開発環境を自動構築する方法」について解説予定です。

タイトルとURLをコピーしました