Overview

Repo: https://github.com/swebvn/hansible

Cần master key để truy cập toàn bộ server

Repository chứa các Ansible playbook được tổng hợp và quản lý tập trung, thay vì phân tán mỗi playbook ở một repository riêng biệt.

Sử dụng Ansible để chạy các script quản lý, migration, cài đặt Wordpress plugin hoặc thực hiện cùng một hành động trên nhiều server, giúp đồng bộ trạng thái các server.

Jenkins cũng được coi là một control node. Một số playbook cho các site Wordpress (legacy) có thể cần phải chạy trên server này (yêu cầu Python 2, Python 3 không hỗ trợ). Dự kiến sẽ loại bỏ các playbook này.

Hiện tại có các playbook hỗ trợ provision server Lunar2

Cấu trúc

Project tùy chỉnh lại roles_path khác với cấu hình mặc định của Ansible, chú ý cấu hình trong ansible.cfg. Trước khi bắt đầu nên thiết lập ansible.cfg từ file mẫu ansible.cfg.example

  • inventories: danh sách các server cho web Lunar
  • playbooks: danh sách các playbook
  • roles: danh sách các roles

Inventory

Inventory được phân loại thành các nhóm dự án (theo tên file):

  • lunar: server cho dự án Lunar
  • wordpress: server Wordpress cũ
  • wordpress2: các server Wordpress mới sử dụng Caddy
  • offshore: các server proxy
  • stuff: các server linh tinh

Trong từng file sẽ chia thành các nhóm nhỏ (group) theo nhà cung cấp, ví dụ: Contabo, Ulta, Shinjiru

Usage

Chủ yếu các playbook được run trên http://jenkins.sweb.vn/, check các folder theo mục đích sử dụng