Hướng dẫn thực dụng cho lập trình viên
Dựng một hệ thống Odoo chạy trên máy mình là nghi thức nhập môn của mọi lập trình viên Odoo. Dù bạn là người kiểm thử nghiệp vụ đang xác minh một lỗi hay lập trình viên đang viết một module mới, rồi cũng sẽ gặp đúng những câu hỏi ấy.
CLI có sẵn của Odoo cho bạn đủ sức mạnh cần thiết, nhưng quá trình cài đặt lặp đi lặp lại thì làm bạn chậm đi đáng kể. Sẽ thế nào nếu tự động hóa được những phần nhàm chán mà vẫn giữ trọn sự linh hoạt?
Trong bài này, chúng ta sẽ xem cách dùng hệ sinh thái công cụ của Trobz để tinh gọn việc dựng môi trường phát triển Odoo trên máy, và tất nhiên là cuối cùng chạy được Odoo một cách dễ dàng và nhanh chóng.
Bức tranh hiện tại
Nếu đã làm với Odoo một thời gian, bạn thuộc bài rồi. Mỗi dự án mới nghĩa là:
- Tự tay tạo môi trường ảo và cài các gói phụ thuộc
- Cấu hình kết nối database với cùng những tham số ấy, hết lần này tới lần khác
- Dựng một
--addons-pathphức tạp trải qua nhiều thư mục - Nhớ xem phiên bản Python nào chạy được với phiên bản Odoo nào
- Lần tìm các file cấu hình nằm rải rác ở những dự án khác nhau
Việc lặp lại này tạo ra ma sát. Bạn muốn tập trung vào xây tính năng hay sửa lỗi, chứ không phải vật lộn với cấu hình môi trường. CLI có sẵn của Odoo thì mạnh, nhưng nó không áp đặt sự nhất quán và cũng không làm nhẹ đi gánh nặng phải nhớ các thiết lập riêng của từng dự án.
Đó là chỗ một bộ công cụ chuẩn hóa phát huy tác dụng.
Chào mừng tới hệ sinh thái công cụ của Trobz
trobz_local (tlc) là công cụ hỗ trợ, áp một cấu trúc thư mục chuẩn và tự động hóa những phần lặp lại khi dựng Odoo. Thay vì phân vân xem thứ gì đặt ở đâu, tlc lo giúp bạn, trong khi vẫn giữ được sự linh hoạt của các công cụ gốc của Odoo.
Hãy xem nó chạy thế nào trên thực tế.
Cài đặt
1. Tạo cấu trúc thư mục chuẩn mà tlc mong đợi
$ mkdir ~/projects \
cd ~/projects \
export TLC_CODE_DIR=~/projects
2. Tải về một file cấu hình tối giản
$ curl -fsSL https://raw.githubusercontent.com/trobz/local.py/main/assets/odoo_minimal.toml -o config.toml
3. Chạy bootstrap
$ curl -fsSL https://raw.githubusercontent.com/trobz/local.py/main/bootstrap.sh | bash
4. Cài các công cụ cần thiết
$ tlc install-tools
5. Clone repository của Odoo
$ tlc pull-repos
6. Tạo môi trường ảo cho các phiên bản đã cấu hình
$ tlc create-venvs
Vừa rồi chuyện gì đã xảy ra?
Bên dưới, tlc dùng odoo-venv để:
- Tạo một môi trường ảo sạch tại ~/projects/venvs/18.0
- Cài các gói phụ thuộc của Odoo một cách tự động
- Bảo đảm tương thích phiên bản
- Tạo một script khởi chạy đơn giản là odoo-v18
Có thể đọc thêm về odoo-venv tại đây.
7. Bảo đảm PostgreSQL đã được cài và đang chạy
$ sudo systemctl start postgresql
8. Bảo đảm đã có user PostgreSQL để khởi tạo database
$ tlc ensure-db-user
Chạy Odoo thôi!
1. Dựng một --addons-path hoàn chỉnh cho odoo
$ ADDONS_PATH=$(odoo-addons-path --odoo-dir ~/projects/odoo/odoo/18.0)
2. Chạy Odoo
Giờ tới khoảnh khắc quyết định, khởi động Odoo nào:
$ odoo-v18
Đôi lời khép lại
Đó mới chỉ là phần dựng cơ bản cho một môi trường phát triển Odoo đơn giản trên máy. Tuy chỉ là nền móng, nó loại bỏ được sự ma sát lặp đi lặp lại vốn làm chậm công việc.
Mục tiêu không phải thay thế các công cụ gốc của Odoo, mà bổ trợ cho chúng bằng phần tự động hóa giúp tiết kiệm thời gian và giảm sai sót.