1. 程式人生 > 其它 >禪道二次開發(一):開發環境配置

禪道二次開發(一):開發環境配置

禪道是一個開源的專案管理軟體,作為測試人員最常用的功能就是用例管理和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.servicenmb.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目錄進行版本管理。

參考資料

  1. 禪道官網:https://www.zentao.net/
  2. 禪道下載:https://www.zentao.net/download
  3. 禪道安裝教程:https://www.zentao.net/book/zentaopmshelp/90.html
  4. 禪道升級:https://www.zentao.net/book/zentaopmshelp/41.html
  5. 禪道二次開發講解:https://www.zentao.net/publicclass/80237.html
  6. 二次開發機制:https://www.zentao.net/book/zentaopmshelp/225.html
--THE END--

世間所有的相遇,都是久別重逢。——《一代宗師》