禪道二次開發(一):開發環境配置
禪道是一個開源的專案管理軟體,作為測試人員最常用的功能就是用例管理和bug管理。目前的禪道開源版可能無法滿足業務需求,可以基於禪道進行二次開發。先來介紹下如何配置禪道開發環境。
目錄前言
禪道專案管理軟體主要使用PHP語言,是基於zentaoPHP框架進行開發的。要對禪道進行二次開發需要對PHP語言、zentaoPHP框架、前端ZUI框架、MySQL資料庫、HTML、JavaScript等有一定的瞭解。後續我會陸續釋出一些禪道二次開發的相關筆記,文章不會對這些基礎進行過多介紹,關於禪道二次開發的相關資料可滑到文章末尾檢視,都是禪道官方提供的資料,介紹的比較詳細。
下面介紹我是如何配置禪道開發環境的。
禪道環境部署
在Windows中部署PHP環境可以使用XAMPP,它是一個Apache發行版,其中包含了MariaDB、PHP和Perl。下載地址:
由於我們的禪道部署在Linux系統上,我選擇在Linux上部署環境。Linux也可以使用XAMPP部署,我覺得太麻煩就沒有使用它,而是直接在Linux上安裝禪道,因為禪道安裝包內建了apache、php、mysql這些應用程式,不需要再單獨安裝部署。直接在禪道目錄中進行二次開發就可以了。
禪道安裝
在linux中使用禪道一鍵安裝包安裝禪道,下載地址:https://www.zentao.net/download.html ,我下載的是禪道16.4版本。
1、將禪道一鍵安裝包解壓到/opt
目錄下
$ sudo tar -zxvf ZenTaoPMS.16.4.zbox_64.tar.gz -C /opt
解壓完成後可以檢視PHP的版本:
$ /opt/zbox/bin/php -v PHP 7.2.33 (cli) (built: Jul 14 2021 12:01:31) ( ZTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with the ionCube PHP Loader + ionCube24 v10.4.4, Copyright (c) 2002-2020, by ionCube Ltd. with Zend OPcache v7.2.33, Copyright (c) 1999-2018, by Zend Technologies
2、設定Apache和MySQL的埠號
可以使用 /opt/zbox/zbox -h
命令檢視幫助資訊:
$ /opt/zbox/zbox -h
Usage: zbox.php {start|stop|restart|status}
Options:
-h --help Show help.
-ap --aport Apache port, default 80.
-mp --mport Mysql port, default 3306.
設定埠:
$ /opt/zbox/zbox -ap 8080 -mp 3306
其中 -ap
引數設定Apache埠,-mp
引數設定Mysql埠。
3、關閉防火牆
檢視防⽕火牆狀態
$ systemctl status firewalld
$ systemctl status firewalld.service
停⽌止firewall
$ systemctl stop firewalld.service
禁止firewall開機啟動
$ systemctl disable firewalld.service
關閉selinux:vi /etc/selinux/config
,註釋掉 SELINUX=enforcing
,新增 SELINUX=disabled
4、啟動禪道
$ /opt/zbox/zbox start
Start Apache success
Start Mysql success
停止禪道命令:
$ /opt/zbox/zbox stop
重啟:
$ /opt/zbox/zbox restart
可以設定一下開機自動啟動,把 /opt/zbox/zbox restart
命令新增/etc/rc.d/rc.local
檔案,並新增執行許可權:
$ chmod +x /etc/rc.d/rc.local
禪道啟動成功後,瀏覽器訪問:http://192.168.30.9:8080/ ,其中192.168.30.9為我的伺服器地址,8080為apache埠。
禪道預設管理員帳號是 admin,密碼 123456。登入後需要修改登入密碼:
禪道升級
如果禪道使用linux一鍵安裝包安裝,可按照以下步驟升級:
1、下載新版本的原始碼包 ZenTaoPMS.16.4.zip
2、解壓縮後得到zentaopms資料夾,將zentaopms/下面的所有檔案複製到 /opt/zbox/app/zentao/
下面,覆蓋同名檔案:
$ unzip ZenTaoPMS.16.4.zip
$ sudo cp -rf zentaopms/* /opt/zbox/app/zentao/
3、訪問 http:/192.168.30.9:8080/zentao/upgrade.php
,按照頁面提示進行升級。
連線資料庫
下面介紹使用Mysql Workbench客戶端工具來連線數禪道據庫,其它資料庫管理工具類似。
1、先新增一個數據庫管理使用者,設定密碼
$ ./opt/zbox/auth/adduser.sh
This tool is used to add user to access adminer
Account: root
Password: Adding password for user root
2、開啟Mysql Workbench客戶端工具,新建連線
先用SSH通道連線上伺服器,再連線禪道資料庫
3、連線資料庫
這樣就可以對禪道資料庫進行操作了。
命令列連線和匯入資料庫方法:
-
登入資料庫:
/opt/zbox/bin/mysql -u root -P 3306 -p
-
匯入資料庫:
/opt/zbox/bin/mysql -u root -P 3306 -p zentao < zentao.sql
配置linux和windows檔案共享
為了方便開發,我選擇在Windows上使用vscode編輯器進行開發。我的解決方案是使用samba來配置linux和windows的檔案共享。安裝方法可參考使用samba實現linux和windows檔案共享。
vi /etc/samba/smb.conf
:
[global]
workgroup = ZENTAO
security = user
passdb backend = tdbsam
printing = cups
[zentao]
comment = ZENTAO Projects
path = /opt/zbox
public = yes
writable = yes
browseable = yes
guest ok = yes
read only = no
設定使用者名稱和密碼:smbpasswd -a root
$ smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
啟動 smb.service 和 nmb.service兩個服務
systemctl start smb.service
systemctl start nmb.service
設定開機啟動
systemctl enable smb.service
systemctl enable nmb.service
windows訪問地址 \\192.168.30.9\zentao
Vscode 配置PHP開發環境
如果要在Windows中編寫PHP指令碼,需要配置一下settings.json檔案,配置PHP執行檔案php.exe的路徑。
點選VSCode的 檔案 -> 首選項 -> 設定,搜尋php
點選setting.json,新增配置:
"php.validate.executablePath": "D:/xampp/php/php.exe",
安裝外掛PHP Debug用於PHP除錯,如果是禪道二次開發可以不用配置它,修改程式碼後重新整理禪道頁面,會看到修改後的效果。
另外推薦安裝PHP Intelephense外掛,可用於方法跳轉。
接下來可以在Vscode中開啟共享的zentao資料夾:
為了方便開發建議對zentao目錄進行版本管理。
參考資料
- 禪道官網:https://www.zentao.net/
- 禪道下載:https://www.zentao.net/download
- 禪道安裝教程:https://www.zentao.net/book/zentaopmshelp/90.html
- 禪道升級:https://www.zentao.net/book/zentaopmshelp/41.html
- 禪道二次開發講解:https://www.zentao.net/publicclass/80237.html
- 二次開發機制:https://www.zentao.net/book/zentaopmshelp/225.html
世間所有的相遇,都是久別重逢。——《一代宗師》