Chi nhánh

Chế độ xem Nhánh cung cấp tổng quan về các nhánh khác nhau trong kho lưu trữ của bạn.

Giai đoạn

Odoo.sh cung cấp ba giai đoạn nhánh khác nhau:

Bạn có thể thay đổi giai đoạn của một nhánh bằng cách kéo và thả nó vào giai đoạn mong muốn.

Thay đổi giai đoạn của một nhánh

Ghi chú

  • Các nhánh phát triển có thể được di chuyển xuống Dàn dựng. Nếu bạn cố gắng di chuyển một nhánh phát triển xuống Sản xuất, một thông báo cảnh báo sẽ hiển thị giải thích rằng bạn chỉ có thể có một nhánh sản xuất cho mỗi dự án.

  • Các nhánh dàn dựng có thể được di chuyển xuống Phát triển, nhưng không thể di chuyển chúng xuống Sản xuất.

  • Nhánh sản xuất chỉ có thể được di chuyển xuống Phát triển. Nếu bạn cố gắng di chuyển nó xuống Dàn dựng, bạn chỉ có thể thực hiện hợp nhất. Tham khảo phần hợp nhất để có giải thích chi tiết về quy trình này.

Sản xuất

Nhánh sản xuất chứa mã được sử dụng để chạy cơ sở dữ liệu sản xuất. Chỉ có thể có một nhánh sản xuất.

Khi bạn đẩy một commit mới vào nhánh này, máy chủ sản xuất được cập nhật với mã đã sửa đổi và khởi động lại.

Nếu các thay đổi yêu cầu cập nhật mô-đun, chẳng hạn như thay đổi chế độ xem biểu mẫu, và bạn muốn cập nhật được thực hiện tự động, bạn có thể tăng số phiên bản của mô-đun trong tệp khai báo của nó (__manifest__.py). Sau đó nền tảng thực hiện cập nhật, trong thời gian đó phiên bản sẽ tạm thời không khả dụng vì lý do bảo dưỡng.

Phương pháp này tương đương với việc nâng cấp mô-đun bằng menu Apps hoặc chuyển đổi -u trên dòng lệnh.

Ghi chú

  • Nếu các thay đổi ngăn máy chủ khởi động lại hoặc nếu cập nhật mô-đun thất bại, máy chủ sẽ tự động quay lại phiên bản mã thành công trước đó và cơ sở dữ liệu được khôi phục về trạng thái trước đó. Truy cập vào nhật ký của bản cập nhật bị lỗi để khắc phục sự cố.

  • Dữ liệu demo không được tải vì nó không dành cho việc sử dụng trên cơ sở dữ liệu sản xuất. Kiểm thử đơn vị không được thực hiện vì nó sẽ làm tăng thời gian không khả dụng của cơ sở dữ liệu sản xuất trong quá trình cập nhật.

Odoo.sh tự động sao lưu cơ sở dữ liệu production. Hệ thống giữ lại bảy bản sao lưu hàng ngày, bốn bản hàng tuần và ba bản hàng tháng. Mỗi bản sao lưu bao gồm database dump, filestore (tệp đính kèm và trường nhị phân), logs và sessions.

Cảnh báo

Khi sử dụng dự án dùng thử, nhánh production và tất cả các nhánh staging sẽ tự động được chuyển về giai đoạn development sau 30 ngày.

Staging

Các nhánh staging được dùng để kiểm tra các tính năng mới bằng dữ liệu production mà không ảnh hưởng đến cơ sở dữ liệu production thực tế với các bản ghi thử nghiệm. Chúng tạo các bản sao vô hiệu hóa của cơ sở dữ liệu production.

Quá trình vô hiệu hóa sẽ tắt:

  • Các tác vụ được lên lịch

    Ghi chú

    Để kiểm tra chúng, hãy kích hoạt thủ công hoặc bật lại. Lưu ý rằng nền tảng sẽ kích hoạt chúng ít thường xuyên hơn nếu không có ai sử dụng cơ sở dữ liệu nhằm tiết kiệm tài nguyên.

  • Email gửi đi

    Ghi chú

    Thay vào đó, chúng được chặn lại bằng mail catcher. Một giao diện để xem các email được gửi bởi cơ sở dữ liệu được cung cấp trong Dự án Odoo.sh của bạn. Nhờ đó, không có email nào được gửi đến liên hệ của bạn.

  • Dịch vụ IAP

  • Nhà cung cấp thanh toán và trình kết nối vận chuyển

    Ghi chú

    Chúng được đặt vào chế độ thử nghiệm.

Nếu bạn cấu hình hoặc xem các thay đổi trong cơ sở dữ liệu staging, hãy đảm bảo ghi lại chúng (ghi chú từng bước, tái tạo trong production, v.v.) hoặc viết trực tiếp vào các module của nhánh, sử dụng tệp dữ liệu XML để ghi đè cấu hình hoặc views mặc định. Xem tài liệu module đầu tiên để tham khảo các ví dụ.

Ghi chú

Các bài kiểm tra đơn vị không được thực hiện. Chúng dựa vào dữ liệu demo, không được tải vào cơ sở dữ liệu production và staging. Nếu Odoo hỗ trợ chạy các bài kiểm tra đơn vị mà không cần dữ liệu demo, Odoo.sh sẽ cân nhắc chạy các bài kiểm tra trên cơ sở dữ liệu staging.

Cơ sở dữ liệu staging không được sao lưu tự động. Tuy nhiên, bạn có thể khôi phục bản sao lưu của cơ sở dữ liệu production trong nhánh staging cho mục đích thử nghiệm hoặc để khôi phục thủ công dữ liệu đã bị xóa nhầm khỏi cơ sở dữ liệu production. Có thể tạo bản sao lưu thủ công của cơ sở dữ liệu staging.

Cảnh báo

Cơ sở dữ liệu được tạo cho các nhánh staging sẽ tự động bị xóa sau một tháng. Để sử dụng lại nhánh, bạn phải xây dựng lại nhánh đó.

Phát triển

Các nhánh development tạo cơ sở dữ liệu mới sử dụng dữ liệu demo để chạy các bài kiểm tra đơn vị. Các module được cài đặt là những module có trong nhánh. Bạn có thể thay đổi danh sách các module cần cài đặt trong cài đặt dự án.

Khi đẩy một commit lên nhánh development, một máy chủ mới sẽ được khởi động với cơ sở dữ liệu được tạo từ đầu và nhánh được cập nhật. Dữ liệu demo được tải và các bài kiểm tra đơn vị được thực hiện mặc định để xác minh rằng các thay đổi không làm hỏng bất kỳ tính năng nào đang được kiểm tra. Bạn có thể tắt các bài kiểm tra hoặc cho phép các bài kiểm tra cụ thể chạy với các thẻ tùy chỉnh bằng cách vào cài đặt của nhánh.

Tương tự như các nhánh staging, email không được gửi đi mà được chặn lại bởi mail catcher, và các tác vụ được lên lịch không được kích hoạt miễn là cơ sở dữ liệu không được sử dụng.

Cơ sở dữ liệu development không được tự động sao lưu và không thể thực hiện sao lưu thủ công.

Cảnh báo

Cơ sở dữ liệu được tạo cho các nhánh development được thiết kế để tồn tại khoảng ba ngày. Sau đó, chúng có thể được tự động thu gom để tạo chỗ cho các cơ sở dữ liệu mới mà không cần thông báo trước.

Hợp nhất các nhánh

Bạn có thể hợp nhất các nhánh bằng cách kéo và thả chúng vào nhau.

Hợp nhất các nhánh vào nhau

Để kiểm tra các thay đổi của nhánh phát triển với dữ liệu production, bạn có thể:

  • Hợp nhất nhánh phát triển vào nhánh staging bằng cách kéo và thả nó vào nhánh mong muốn; hoặc

    Hợp nhất nhánh phát triển vào nhánh staging
  • Kéo và thả nhánh phát triển xuống mục Staging để biến nó thành nhánh staging.

    Di chuyển nhánh phát triển xuống staging

Khi các thay đổi sẵn sàng cho production, kéo và thả nhánh staging vào nhánh production để hợp nhất và triển khai chúng.

Ghi chú

  • Bạn có thể hợp nhất nhánh phát triển trực tiếp vào nhánh production. Tuy nhiên, các thay đổi sẽ không được xác thực với dữ liệu production thông qua nhánh staging, nên có rủi ro cao hơn khi gặp sự cố trong cơ sở dữ liệu production.

  • Bạn có thể hợp nhất các nhánh phát triển vào nhau và các nhánh staging vào nhau.

  • Bạn cũng có thể sử dụng git merge trực tiếp trên máy trạm của mình để hợp nhất các nhánh. Odoo.sh được thông báo khi có các revision mới được đẩy lên nhánh của bạn.

Hợp nhất nhánh staging vào nhánh production chỉ hợp nhất mã nguồn. Mọi thay đổi được thực hiện đối với cơ sở dữ liệu staging không được chuyển sang cơ sở dữ liệu production. Tuy nhiên, nếu bạn sửa đổi mã trong kho lưu trữ, nó sẽ được chuyển sang nhánh production khi hợp nhất.

Nếu bạn kiểm tra các thay đổi cấu hình trong nhánh staging và muốn chúng được áp dụng cho nhánh production, bạn phải:

  • Viết các thay đổi cấu hình trong tệp dữ liệu XML để ghi đè cấu hình mặc định hoặc chế độ xem trong nhánh, sau đó tăng phiên bản của module trong manifest của nó (__manifest__.py) để kích hoạt cập nhật module khi hợp nhất nhánh staging vào nhánh production.

    Ghi chú

    Phương pháp này được khuyến nghị để có khả năng mở rộng tốt hơn cho các phát triển của bạn, vì bạn sẽ sử dụng các tính năng quản lý phiên bản Git cho tất cả các thay đổi cấu hình, từ đó đảm bảo khả năng truy xuất nguồn gốc các thay đổi của bạn.

  • Chuyển chúng thủ công từ cơ sở dữ liệu staging sang cơ sở dữ liệu production bằng cách sao chép và dán.

Tab

Lịch sử

Tab Lịch sử cung cấp cái nhìn tổng quan về lịch sử của nhánh:

  • Các thông điệp commit và tác giả của chúng

  • Các sự kiện khác nhau liên quan đến nền tảng, chẳng hạn như thay đổi giai đoạn, nhập cơ sở dữ liệu và khôi phục bản sao lưu

Tab lịch sử của nhánh

Trạng thái ở góc trên bên phải của mỗi sự kiện cho biết hoạt động hiện tại trên cơ sở dữ liệu (ví dụ: cài đặt, cập nhật, nhập bản sao lưu) hoặc kết quả của nó (ví dụ: phản hồi kiểm tra, nhập bản sao lưu thành công). Nếu hoạt động thành công, nút Kết nối sẽ xuất hiện, cho phép bạn truy cập cơ sở dữ liệu.

Mails

Tab Mails chứa bộ thu thập thư, cung cấp tổng quan về các email được gửi từ cơ sở dữ liệu.

Ghi chú

Bộ thu thập thư có sẵn cho các nhánh phát triển và staging. Email từ cơ sở dữ liệu production thực sự được gửi đi và không bị chặn bởi bộ thu thập thư.

Tab mails của các nhánh

Shell

Tab Shell cung cấp quyền truy cập shell vào container.

Nhấp vào Shell sẽ mở một tab trình duyệt mới cho phép bạn chạy các lệnh Linux cơ bản (ls, top). Bạn có thể mở shell trên cơ sở dữ liệu bằng cách chạy psql.

Tab shell của các nhánh

Mẹo

Bạn có thể mở nhiều tab shell cùng lúc và sắp xếp bố cục của chúng bằng cách kéo và thả.

Ghi chú

  • Shell của instance production được tô sáng màu đỏ để nhấn mạnh sự nguy hiểm khi thao tác trực tiếp với các instance production, trong khi shell của instance staging/development được tô sáng màu vàng.

  • Các instance shell chạy lâu hoặc phiên shell không hoạt động có thể bị chấm dứt bất kỳ lúc nào để giải phóng tài nguyên.

Lệnh

Dưới đây là tổng quan về các lệnh hữu ích mà bạn có thể chạy trên terminal cơ sở dữ liệu Odoo.sh:

  • odoo-bin shell: để mở Odoo shell

  • odoo-update: để cập nhật các mô-đun trong cơ sở dữ liệu

  • odoosh-restart: để khởi động lại các dịch vụ Odoo.sh (http hoặc cron)

  • odoosh-storage: để kiểm tra mức sử dụng lưu trữ của filesystem container instance của bạn

  • psql: để mở database shell

  • mutt: để kiểm tra email hiển thị như thế nào trên các ứng dụng văn bản (instance staging và development)

  • lnav ~/logs/odoo.log: để điều hướng trong tệp odoo.log của instance của bạn

  • ncdu: để khởi chạy trình phân tích sử dụng đĩa với giao diện tương tác

  • grep: để lọc và tìm thông tin trong các tệp log hoặc cấu hình

Biên tập

Nhấp vào Editor sẽ mở một tab trình duyệt mới để truy cập môi trường phát triển tích hợp trực tuyến (IDE) để chỉnh sửa mã nguồn. Bạn cũng có thể mở terminal, bảng điều khiển Python và bảng điều khiển Odoo shell.

Tab trình chỉnh sửa của các nhánh

Bạn có thể mở nhiều tab và kéo thả chúng để sắp xếp bố cục theo ý muốn.

Giám sát

Tab Monitor hiển thị các số liệu giám sát hiệu suất khác nhau của bản build hiện tại.

Phóng to bằng con trỏ để điều chỉnh phạm vi thời gian hoặc chọn thủ công từ bộ chọn phạm vi thời gian. Bạn cũng có thể thay đổi múi giờ.

Bộ chọn phạm vi thời gian trong tab giám sát nhánh

Ghi chú

  • Nhật ký kỹ thuật luôn sử dụng UTC. Để phân tích các nhật ký này cùng với số liệu giám sát của bạn, hãy đảm bảo UTC được chọn trong công cụ giám sát.

  • Tương tự, khi gửi phiếu hỗ trợ, hãy đảm bảo thông tin bạn chia sẻ dựa trên UTC, vì Odoo sử dụng múi giờ này để điều tra các vấn đề về hiệu suất.

Thông tin được tổng hợp định kỳ. Khi điều này xảy ra, một đường chấm màu xanh sẽ được hiển thị cùng với thẻ Aggregate Date. Điều này có nghĩa là dữ liệu trước ngày này sẽ xuất hiện phẳng hơn khi so sánh với dữ liệu sau ngày này. Do đó, khi sử dụng công cụ giám sát, nên tập trung vào các sự kiện gần đây để có thông tin chi tiết nhất có thể.

Ghi chú

Các đường chấm màu khác giúp bạn liên hệ với các thay đổi khác trên bản build (nhập cơ sở dữ liệu, git push, v.v.).

Dữ liệu tổng hợp giám sát CPU

Mẹo

Trên mỗi biểu đồ, một biểu tượng 𝕚 (thông tin) được hiển thị ở góc trên bên trái. Di chuột qua biểu tượng đó để biết thêm chi tiết về ý nghĩa của biểu đồ.

Số liệu

Hệ thống

Biểu đồ Memory hiển thị thông tin về mức tiêu thụ bộ nhớ:

  • Memory container đại diện cho các worker Odoo và các tiến trình container.

  • Memory postgresql đại diện cho cơ sở dữ liệu.

Biểu đồ bộ nhớ trong tab giám sát

Biểu đồ CPU hiển thị thông tin về mức tiêu thụ CPU:

  • CPU http đại diện cho các worker của Odoo.

  • CPU cron/mail đại diện cho các hành động đã lên lịch và email đến.

  • CPU postgresql (các tiến trình cơ sở dữ liệu)

  • CPU other đại diện cho webshell, trình biên tập, v.v.

Biểu đồ CPU trong tab giám sát

Biểu đồ Lưu trữ hiển thị thông tin về dung lượng lưu trữ đã sử dụng:

  • Container đại diện cho kho lưu trữ tệp, tệp nhật ký và tệp người dùng.

  • Postgresql đại diện cho cơ sở dữ liệu và chỉ mục.

Biểu đồ lưu trữ trong tab giám sát
HTTP

Biểu đồ Yêu cầu hiển thị thông tin về số lượng yêu cầu HTTP mỗi giây:

  • HTTP successes đại diện cho các yêu cầu thành công.

  • HTTP errors đại diện cho các yêu cầu thất bại (kiểm tra odoo.log).

  • HTTP rate limited đại diện cho các yêu cầu bị từ chối, có thể do thiếu worker.

Biểu đồ yêu cầu trong tab giám sát

Biểu đồ Yêu cầu đồng thời (tối đa) hiển thị số lượng yêu cầu HTTP đồng thời tối đa mỗi giây.

Biểu đồ yêu cầu đồng thời trong tab giám sát

Ghi chú

Các worker cơ sở dữ liệu xác định số lượng yêu cầu đồng thời có thể được xử lý đồng thời. Điều quan trọng là phải có đủ worker để xử lý tất cả các yêu cầu đến khi chúng xuất hiện. Tuy nhiên, việc có thêm worker ngoài số này không cải thiện tốc độ xử lý yêu cầu.

Thời gian phản hồi trung bình hiển thị thời gian phản hồi trung bình cho các yêu cầu HTTP (tính bằng mili giây).

Biểu đồ thời gian phản hồi trung bình trong tab giám sát
Mails

Biểu đồ Incoming hiển thị dữ liệu về số lượng email đến hàng ngày:

  • Received Emails đại diện cho các email đã nhận thành công.

  • Received Emails bounced đại diện cho các email nhận không thành công.

Biểu đồ email đến trong tab giám sát

Biểu đồ Outgoing hiển thị dữ liệu về số lượng email gửi đi hàng ngày:

  • Sent Emails đại diện cho các email đã gửi thành công.

  • Sent Emails bounced đại diện cho các email gửi không thành công.

Biểu đồ email gửi đi trong tab giám sát

Nhật ký

Tab Logs cung cấp chế độ xem theo thời gian thực về nhật ký của máy chủ.

Tab nhật ký nhánh

Có sẵn các nhật ký khác nhau:

  • pip.log: cài đặt các phụ thuộc Python

  • install.log: cài đặt cơ sở dữ liệu (đối với nhánh phát triển, bao gồm cả các bài kiểm tra)

  • odoosh-import-database.log: quá trình nhập dump gần nhất

  • odoo.log: máy chủ đang chạy

  • update.log: cập nhật cơ sở dữ liệu

  • pg_slow_queries.log: các truy vấn psql mất thời gian bất thường

  • sh_webshell.log: các hành động được thực hiện trong webshell

  • sh_editor.log: các hành động được thực hiện trong trình soạn thảo

  • neutralize.log: trung hòa cơ sở dữ liệu (chỉ staging)

Nhật ký tự động cuộn

Khi các dòng mới được thêm vào nhật ký, chúng sẽ hiển thị tự động. Nếu bạn cuộn xuống cuối, trình duyệt sẽ tự động cuộn mỗi khi có dòng mới được thêm vào.

Bạn có thể tạm dừng quá trình tải nhật ký bằng cách nhấp vào nút (tạm dừng) ở góc trên bên phải. Nếu không, quá trình sẽ dừng sau năm phút. Bạn có thể khởi động lại bằng cách nhấp vào nút (phát).

Bản sao lưu

Tab Sao lưu liệt kê các bản sao lưu có sẵn để tải xuống và khôi phục, cho phép bạn thực hiện sao lưu thủ công và nhập cơ sở dữ liệu.

Tab sao lưu nhánh

Cơ sở dữ liệu sản xuất được tự động sao lưu hàng ngày. Hệ thống giữ bảy bản sao lưu hàng ngày, bốn bản hàng tuần và ba bản hàng tháng. Mỗi bản sao lưu bao gồm bản dump cơ sở dữ liệu, filestore (tệp đính kèm và trường nhị phân), nhật ký và phiên.

Ghi chú

Bạn có thể tham khảo lịch trình dự kiến của các bản sao lưu tự động để hiểu rõ hơn về cách hoạt động của hệ thống. Tệp này được cập nhật hàng ngày, lấy ngày hiện tại làm điểm khởi đầu.

Cơ sở dữ liệu staging và development không được tự động sao lưu. Tuy nhiên, bạn có thể khôi phục bản sao lưu của cơ sở dữ liệu sản xuất trong các nhánh staging để kiểm thử, hoặc khôi phục thủ công dữ liệu đã bị xóa nhầm khỏi cơ sở dữ liệu sản xuất.

Danh sách chứa các bản sao lưu được lưu trên máy chủ của cơ sở dữ liệu sản xuất. Máy chủ này chỉ giữ bản sao lưu trong một tháng: bảy bản hàng ngày và bốn bản hàng tuần.

Các máy chủ sao lưu chuyên dụng giữ các bản sao lưu tương tự, cùng với ba bản sao lưu hàng tháng bổ sung. Để khôi phục hoặc tải xuống một trong các bản sao lưu hàng tháng này, hãy liên hệ Hỗ trợ Odoo.

Khi hợp nhất một commit cập nhật phiên bản của một hoặc nhiều mô-đun (trong __manifest__.py), hoặc các phụ thuộc Python liên kết của chúng (trong requirements.txt), Odoo.sh sẽ thực hiện sao lưu tự động (được đánh dấu loại Update trong danh sách), vì container sẽ được thay đổi bởi việc cài đặt các gói pip mới, hoặc chính cơ sở dữ liệu sẽ được thay đổi với việc cập nhật mô-đun được kích hoạt sau đó. Trong hai trường hợp này, bản sao lưu được kích hoạt vì có thể gây lỗi.

Nếu commit được hợp nhất không cập nhật phiên bản của mô-đun hoặc phụ thuộc liên kết, thì Odoo.sh không kích hoạt bản sao lưu, vì cả container và cơ sở dữ liệu đều không bị thay đổi; do đó, nền tảng coi điều này đủ an toàn. Để phòng ngừa thêm, bạn có thể tạo bản sao lưu thủ công trước khi sửa đổi nguồn sản xuất.

Mục đích của sao lưu thủ công là tạo bản chụp nhanh cụ thể của cơ sở dữ liệu sản xuất hoặc staging (không có sẵn cho development). Các bản này vẫn có sẵn trong bảy ngày. Tuy nhiên, có giới hạn năm bản sao lưu thủ công hàng ngày.

Môi trường

Sao lưu tự động

Sao lưu thủ công

Sản xuất

Có (tối đa 3 tháng)

Có (3 ngày)

Staging

Không

Có (3 ngày)

Phát triển

Không

Không

Tính năng Nhập cơ sở dữ liệu chấp nhận các tệp lưu trữ cơ sở dữ liệu từ:

  • trình quản lý cơ sở dữ liệu Odoo chuẩn (có sẵn cho máy chủ Odoo tại chỗ tại /web/database/manager)

  • trình quản lý cơ sở dữ liệu Odoo Online

  • tab Backups của Odoo.sh (sử dụng nút (Download Options))

  • chế độ xem Builds của Odoo.sh (bằng cách nhấp Download DB dump)

Nâng cấp

Tab Upgrade có thể được sử dụng để nâng cấp các nhánh production và staging của các dự án hợp lệ. Để biết thêm thông tin về quy trình nâng cấp, hãy tham khảo Tài liệu nâng cấp.

Tab nâng cấp nhánh

Công cụ

Tab Tools chứa trình phân tích mã. Nó được sử dụng để bắt đầu phiên phân tích, ghi lại các hoạt động của các worker Odoo đang chạy trong instance trong tối đa năm phút. Bạn có thể chọn kết thúc phiên sớm hơn, vì chạy công cụ trong thời gian ngắn hơn sẽ giảm lượng nhiễu trong báo cáo.

Sử dụng trình phân tích mã

Sau mỗi phiên, một biểu đồ ngọn lửa tương tác được tạo để giúp bạn trực quan hóa cách các worker Odoo phân bổ thời gian của họ.

Cảnh báo

Chạy trình phân tích tiêu tốn nhiều tài nguyên máy chủ, vì vậy tránh để nó chạy quá lâu. Mục tiêu là ghi lại một hành động cụ thể trong cơ sở dữ liệu của bạn.

Cài đặt

Tab Settings liệt kê các tùy chọn cấu hình có sẵn cho nhánh hiện được chọn. Các tùy chọn khác nhau cho từng giai đoạn.

Tab cài đặt nhánh

Hành vi khi có commit mới

Bạn có thể thay đổi hành vi của nhánh khi nhận được commit mới cho các nhánh developmentstaging.

Theo mặc định, nhánh development tạo một bản build mới và nhánh staging cập nhật bản build trước đó. Điều này hữu ích nếu tính năng bạn đang làm việc yêu cầu cấu hình cụ thể, vì bạn sẽ không cần phải cấu hình lại thủ công sau mỗi commit.

Nếu bạn chọn New build cho nhánh staging, một bản sao mới của bản build production sẽ được tạo mỗi khi một commit được đẩy lên.

Nhánh được chuyển từ staging sang development sẽ tự động được đặt thành Do nothing.

Cài đặt module

Bạn có thể chọn module nào sẽ được cài đặt tự động cho các nhánh development.

Cài đặt module trong tab cài đặt

Để thay đổi hành vi mặc định, bỏ chọn tùy chọn Use Default trong Development build behavior và chọn một trong các tùy chọn sau trong Module Installation:

  • Install only my modules (does not include submodules): chỉ cài đặt các module của nhánh, không bao gồm submodules. Đây là tùy chọn mặc định.

  • Full installation (no test suite): cài đặt các module của nhánh, submodule và tất cả các module Odoo tiêu chuẩn. Khi chạy cài đặt đầy đủ, bộ kiểm thử sẽ bị vô hiệu hóa.

  • Install a list of modules: cài đặt các module được chỉ định. Để làm điều này, nhập tên kỹ thuật của chúng và phân tách bằng dấu phẩy (ví dụ: sale_management,website,accountant).

Ghi chú

Nếu bộ kiểm thử được bật, việc cài đặt tất cả các module Odoo tiêu chuẩn có thể mất đến một giờ.

Bộ kiểm thử

Theo mặc định, bộ kiểm thử cho các nhánh development được bật. Bạn có thể giới hạn các bài kiểm thử nào được chạy bằng cách nhập test tags và phân tách chúng bằng dấu phẩy (ví dụ: custom_tags,at_install,post_install).

Để vô hiệu hóa hoàn toàn bộ kiểm thử, bỏ chọn Validate the test suite on new builds.

Phiên bản Odoo

Bạn có thể thay đổi phiên bản Odoo cho các nhánh development, ví dụ: để kiểm thử mã đã nâng cấp hoặc phát triển tính năng trong khi cơ sở dữ liệu production của bạn đang trong quá trình nâng cấp lên phiên bản mới hơn, bằng cách chọn Version khác.

Theo mặc định, Latest được chọn làm Revision, và mã nguồn máy chủ Odoo của bạn được cập nhật tự động hàng tuần để hưởng lợi từ các bản sửa lỗi, bảo mật và hiệu suất mới nhất.

Để chọn một revision cụ thể, hãy chọn nó bằng trường Revision.

Cảnh báo

Các revision sẽ hết hạn sau ba tháng. Bạn sẽ được thông báo qua email khi ngày hết hạn của revision đến gần. Nếu bạn không thực hiện bất kỳ hành động nào khi nó hết hạn, trường Revision sẽ tự động được đặt lại về Latest.

Tab cài đặt revisions

Miền tuỳ chỉnh

Bạn có thể cấu hình các tên miền <name>.odoo.com bổ sung hoặc tên miền tùy chỉnh của riêng bạn cho tất cả các loại nhánh.

Để sử dụng tên miền tùy chỉnh của riêng bạn, cần thiết phải:

  • Sở hữu hoặc mua tên miền.

  • Nhập tên miền vào Custom domains (ví dụ: www.mycompany.com), sau đó nhấp Add domain.

  • Cấu hình tên miền (ví dụ: www.mycompany.com) bằng trình quản lý tên miền của nhà đăng ký với bản ghi CNAME có giá trị được đặt thành tên miền cơ sở dữ liệu production của bạn (ví dụ: mycompany.odoo.com).

Quan trọng

Tên miền trần (ví dụ: mycompany.com) không được chấp nhận. Chúng chỉ có thể được cấu hình bằng bản ghi A, vốn chỉ chấp nhận địa chỉ IP làm giá trị. Do đó, một tên miền trần có thể đột ngột ngừng hoạt động vì địa chỉ IP của cơ sở dữ liệu có thể thay đổi (ví dụ: sau khi nâng cấp, lỗi phần cứng, thay đổi vị trí lưu trữ cơ sở dữ liệu).

Để cả tên miền gốc (ví dụ: mycompany.com) và tên miền www (ví dụ: www.mycompany.com) đều hoạt động, cần chuyển hướng tên miền gốc sang tên miền www. Hầu hết các nhà quản lý tên miền đều cung cấp cách cấu hình chuyển hướng này, thường được gọi là chuyển hướng web.

HTTPS/SSL

Nếu chuyển hướng được thiết lập đúng cách, chứng chỉ SSL sẽ tự động được tạo bằng Let's Encrypt trong vòng một giờ, nghĩa là tên miền của bạn sẽ có thể truy cập qua HTTPS.

Tuân thủ SPF và DKIM

Nếu tên miền của địa chỉ email sử dụng giao thức xác thực SPF hoặc DKIM, cần ủy quyền Odoo làm máy chủ gửi trong cài đặt tên miền để tăng khả năng gửi email thành công. Để biết thêm thông tin, tham khảo tài liệu Cấu hình bản ghi DNS để gửi email trong Odoo.

Quan trọng

Nếu Odoo không được ủy quyền làm máy chủ gửi, các email gửi đi có thể bị đánh dấu là thư rác.

Lệnh shell

Ở góc trên bên phải của chế độ xem, một số lệnh shell được hiển thị. Các lệnh có thể được sao chép bằng nút clipboard và sau đó sử dụng trong terminal. Ngoài ra, một số lệnh có thể được sử dụng trực tiếp từ giao diện của Odoo.sh.

Các phím tắt lệnh shell của nhánh

Sao chép

Lệnh clone được sử dụng để tạo bản sao cục bộ của kho Git.

Example

git clone --recurse-submodules --branch development git@github.com:my-organization/my-repository.git
  • --recurse-submodules để tải xuống các submodule của kho lưu trữ

  • --branch main để chuyển sang nhánh cụ thể của kho lưu trữ (ví dụ: development)

Ghi chú

Nút run không khả dụng vì lệnh này được sử dụng để tạo bản sao cục bộ trên máy của bạn.

Sao chép

Lệnh fork được sử dụng để tạo nhánh mới dựa trên nhánh hiện tại.

Example

git checkout -b main-1 development && git push -u origin development-1
  • git checkout -b main-1 main lệnh để tạo nhánh mới (ví dụ: development-1) dựa trên nhánh hiện tại (ví dụ: development)

  • git push -u origin development-1 lệnh để tải nhánh mới (ví dụ: development-1) lên kho lưu trữ từ xa

Hợp nhất

Lệnh merge được sử dụng để kết hợp các thay đổi trên một nhánh vào nhánh khác.

Example

git merge staging-1 && git push -u origin staging
  • git merge staging-1 lệnh để hợp nhất các thay đổi của nhánh hiện tại vào nhánh khác (ví dụ: staging-1)

  • git push -u origin staging lệnh để tải các thay đổi đã hợp nhất lên nhánh kho lưu trữ từ xa (ví dụ: staging)

SSH

Lệnh SSH được sử dụng để kết nối với bản build bằng SSH.

Để sử dụng lệnh SSH, trước tiên cần thiết lập khóa SSH. Để thực hiện:

Example

ssh 25004381@my-user-my-repository-staging-25004381.dev.odoo.com
  • 25004381 ID bản dựng

  • my-user-my-repository-staging-25004381.dev.odoo.com tên miền được sử dụng để kết nối với bản dựng

Với điều kiện bạn có quyền truy cập cần thiết cho dự án, bạn sẽ được cấp quyền truy cập SSH vào bản dựng.

Ghi chú

Các kết nối SSH chạy dài không được đảm bảo. Các kết nối không hoạt động có thể bị ngắt kết nối để giải phóng tài nguyên.

Phân hệ phụ

Lệnh submodule được sử dụng để thêm một nhánh từ kho lưu trữ khác vào nhánh hiện tại của bạn dưới dạng submodule.

Example

git submodule add -b master <URL> <PATH> && git commit -a && git push -u origin staging
  • git submodule add -b master <URL> <PATH> lệnh để thêm một nhánh cụ thể (ví dụ: master) của một kho lưu trữ (<URL>) dưới dạng mô-đun con theo đường dẫn được chỉ định (<PATH>) trong nhánh hiện tại của bạn.

  • git commit -a lệnh để commit tất cả các thay đổi hiện tại

  • git push -u origin staging lệnh để tải các thay đổi của nhánh hiện tại (ví dụ: staging) lên kho lưu trữ từ xa.

Xoá

Lệnh delete được sử dụng để xóa một nhánh khỏi kho lưu trữ của bạn.

Ghi chú

Sau khi xóa một nhánh, không có cách nào để khôi phục nó trừ khi có bản sao lưu. Các nhánh staging không được tự động sao lưu, nhưng có thể sao lưu thủ công. Các nhánh development không thể được sao lưu.

Example

git push origin :staging && git branch -D staging
  • git push origin :staging lệnh để xóa một nhánh cụ thể (ví dụ: staging) trên kho lưu trữ từ xa

  • git branch -D staging lệnh để xóa nhánh cụ thể trên bản sao cục bộ của kho lưu trữ

Cảnh báo

Trước khi xóa một nhánh, hãy tham khảo mục Sao lưu để hiểu rõ hơn về cách chúng hoạt động và khi nào bạn nên tạo bản sao lưu thủ công.