如何用 git 取得/更新 Odoo 程式?

利用 git 取得/更新不同版本的 Odoo 程式

Andy Cheng
Odoo image and text block

取得 Odoo 原始程式

有多種方式可以取得 Odoo 的程式,如下載官方做好的各作業系統的安裝檔、下載官方的最新版本的壓縮檔等等方法,本篇文章要教大家的是使用 git 取得的方式。

Git

Git 是由 Linux 的發明者 Linus Torvalds 所開發出來的版本控制工具,主要用在多人開發同一專案或是需要把程式發佈到多個地方時使用。目前 git 已經是版本控制工具的主流之一,尢其在 opensource 的世界,幾乎是不可或缺的工具。許多程式開發工具( IDE )都有支援,例如像開發 Python 程式常用的 PyCharm開發 macOS 或 iOS 程式用的 Xcode 。網路上可以找到許多 git 的使用教學,例如這篇這篇,而 git 的官方的文件可以看這篇,有興趣的人可以參考看看。

Odoo text and image block

安裝 git

Debian 和 Ubuntu 作業系統可以用以下指令安裝:
sudo apt-get install git
Fedora 和 CentOS 作業系統可以用以下指令安裝:
sudo yum install git

Mac 作業系統通常內建就有,或是安裝 Xcode 也會有。MS Windows 作業系統可以看這篇

用 git 下載 Odoo

在命令列下執行以下指令,就可以下載最新版本的 Odoo 12:
git clone https://github.com/odoo/odoo.git -b 12.0
其中 -b 後面的部份是用來指定分支( branch )。 Odoo 將不同的版本放在不同的分支,如果想要下載 Odoo 11 ,只要用 -b 11.0 改成指定 11 的分支就可以了。

Odoo text and image block

用 git 更新 Odoo 程式到最新版本

先將所有執行中的 Odoo 程式結束掉。備份所有 Odoo 當前版本的程式和資料庫。到用 git 下載的 Odoo 程式資料夾下執行以下指令,就可以更新到該分支的最新版本:
git pull
待 git 下載結束後,執行以下指令(以 Odoo 12 為範例),即可完成:
./odoo-bin -d [資料庫名稱] -u base
注意,這個方式只是更新程式碼,資料庫內的資料有可能會需要做資料轉移( data migration ),但只要不是主版本的升級(例如從 Odoo 10 升級到 Odoo 11 ),一般來說是不會需要資料轉移的。