︿
Top

專案管理平台 Zentao禪道-docker部署、使用導覽


禪道是一款以管理流程導向為理念而開發出的一套專案管理平台,是非常框架化的設計結果,所以要進入禪道前,需要先進入禪道為你所設計的產品研發流程框架之中,並瞭解其特定名詞概念與流程中的前後順序

比如我們會先替一個「產品」創建數個User Story,也就是「研發需求」,之後將「項目」關聯至產品與研發需求,然後透過多個項目的迭代來實踐Agile,因此專案經理需要在每個項目迭代中慎選產品的研發需求,當被選中的研發需求們進入到項目後,最後要做的就是將需求細化至數個Task、然後分配給團隊同仁



上述軟體研發的部分是歸類在「研發綜合介面」入口,另外禪道也提供了「運營管理介面」入口,相對沒有研發框架那樣的繁瑣流程、秩序與環節,取而代之的是項目、看板、Issue列表,適用比較單純的事務管理

至此,也僅止於對禪道的部分介紹,更多關於專案管理的應用操作,請參閱禪道使用手冊,以下補充 Asana對於敏捷開發流程的說明片段,這對上手禪道會有些幫助

  • 產品開發流程描述的是產品從原初概念到最終市場發佈所需的六個步驟,包括確定市場需求、研究競爭對手、構思解決方案、制定產品藍圖以及打造最簡可行產品 (MVP)。
  • 產品開發流程近年來已有所演進,現今的做法通常是將每個步驟分為六個單獨的階段進行。這麼做有助於更好地組織流程,並將個別交付項目拆分為更小的任務。


本次主題將透過docker-compose安裝新版Zentao,並透過nginx reverse proxy提供外部服務,實驗架構的邏輯部分如下圖,由前端nginx提供ssl,將用戶需求轉至後端的Zentao應用服務






安裝步驟


  • 本例作業系統為CentOS 7.6
  • docker版本為20.10.24、docker-compose版本為1.29.2
  • Zentao版本為開源版 v18.6

1. 如果你的主機上並沒有安裝docker和docker-compose,才需執行這個步驟

[root@host ~]# yum install -y nano wget git
[root@host ~]# wget https://download.docker.com/linux/centos/docker-ce.repo
[root@host ~]# mv docker-ce.repo /etc/yum.repos.d/
[root@host ~]# yum install -y docker-ce-20.10.24
[root@host ~]# systemctl enable docker && systemctl start docker

[root@host ~]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@host ~]# chmod +x /usr/local/bin/docker-compose
[root@host ~]# docker-compose --version
docker-compose version 1.29.2, build 5bezea4c


2. 預設擺放zentao容器相關資料的資料夾,本例預設為/root/docker_home

[root@host ~]# mkdir -p ~/docker_home/zentao && cd ~/docker_home/zentao
[root@host zentao]# nano docker-compose.yml

<docker-compose.yml>

version: '3'

services:

  zentao:
    image: easysoft/zentao:18.6
    container_name: zentao
    restart: always
    ports:
      - 8001:80
    environment:
      MYSQL_INTERNAL: "false"
      ZT_MYSQL_HOST: zentao-mysql
      ZT_MYSQL_PORT: 3306
      ZT_MYSQL_USER: root
      ZT_MYSQL_PASSWORD: zentao
      ZT_MYSQL_DB: zentao
    volumes:
      - ./zentao/data:/data
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"
    networks:
      - zentao-network


  zentao-mysql:
    image: mysql:5.7
    command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
    container_name: zentao-mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: zentao
      MYSQL_DATABASE: zentao
    volumes:
      - ./mysql:/var/lib/mysql
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"
    networks:
      - zentao-network


networks:
  zentao-network:
    external: false

  • zentao容器可以在參數MYSQL_INTERNAL選擇是否使用內建的MySQL,基於容器最小化的微服務理念,這邊選擇另開獨立的容器給MySQL


3.  啟動docker-compose相關容器,大約20秒內會啟動完畢

[root@host zentao]# docker-compose up -d
[root@host zentao]# docker-compose ps
Name                     Command               State                  Ports                
-------------------------------------------------------------------------------------------------
zentao         /usr/bin/entrypoint.sh           Up      0.0.0.0:8001->80/tcp,:::8080->80/tcp
zentao-mysql   docker-entrypoint.sh --cha ...   Up      3306/tcp, 33060/tcp


4. 在安裝禪道docker版本的時候遇到一個狀況,就是無法透過反向代理後的域名來訪問與初始化安裝,因此需要先透過內網的IP連線至禪道進行安裝並關閉CSRF,之後才能順利透過域名訪問

  • 時區記得修改!
  • 使用模式可以選「輕量級管理模式」,初次進入比較不會眼花撩亂,之後都能在admin後台改回「全生命週期管理模式」


5. 關閉禪道的CSRF功能後重啟禪道

[root@host zentao]# nano zentao/data/zentao/config/my.php

<my.php>

<?php
$config->installed       = true;
$config->debug           = false;
$config->requestType     = 'PATH_INFO';
$config->timezone        = 'Asia/Taipei';
$config->db->driver      = 'mysql';
$config->db->host        = 'zentao-mysql';
$config->db->port        = '3306';
$config->db->name        = 'zentao';
$config->db->user        = 'root';
$config->db->encoding    = 'UTF8';
$config->db->password    = 'zentao';
$config->db->prefix      = 'zt_';
$config->webRoot         = getWebRoot();
$config->default->lang   = 'zh-tw';

// disable CSRF
$config->framework->filterCSRF      = false;

[root@host zentao]# docker-compose restart zentao

這裡我們預設你的前端主機已經安裝好nginx、配置好相關ssl憑證、並已於DNS設定好了a record的指向!




運營管理介面導覽


1. 瀏覽器開啟並登入禪道網址 https://zentao.example.com ,預設入口是「綜合研發介面」


2. 右上角先切換至「運營管理介面」,比較適合新手上路


3. 來到後台>人員管理>部門,先替公司建立部門,


4. 來到後台>人員管理>用戶,建立用戶並將其放置於對應部門


5. 接下來就可以到項目這邊愉快的建立你的專案項目囉


6. 項目之下可以建立多個看板,看板裡面才能建立Issue,這裡的看板比較類似該專案項目的需求分類或是版本


7. 禪道「開源版」沒有內建甘特圖,可以到後台>插件管理、找到付費版的甘特圖插件,人年200塊台幣,這個價位我覺得很可以,不過這裡所有的插件若想要使用,都需要大陸手機門號註冊才能驗證購買或試用…




後話


眾所週知,專案管理是一門很深的學問,但我怎麼也沒想到,竟然有一個軟體在裝好了之後讓我摸了三個小時都還搞不清楚狀況,最後才眼殘的看到了管理介面的切換按鈕(這只是其中一部分挫折),我認為禪道想要做的太多太大太執著,很像那種對孩子期望很高的父母,每一步都要按照他的規劃你才能順利做人,雖然立意良善,但如果一個產品設計得離用戶太遠,也很難飛得高,如果要確保用戶走在你訂製的框架裡面不會迷路,我會建議開發團隊可以參考AWS Amazon建立VM的設計步驟

我在評測Jira和Redmine的時候感覺都很絲滑流暢,就像你初次使用Notion一樣、哪些東西在哪大概都能很直覺的找到,從事資訊工作至今、沒遇過如此挫折的使用體驗,如果打個比方,我願意稱禪道是系統工程界的Kubernetes,這邊指的是入門難易度…



其他專案管理平台的使用操作與安裝請參閱:
專案管理平台 Jira-雲端版本的使用導覽
專案管理平台 Redmine 5.0 (一) Docker部署、佈景與外掛安裝
專案管理平台 Redmine 5.0 (二) 使用教學

tomy

來自台灣的系統工程師,一直熱衷於 Open source 相關技術的學習、建置、應用與分享。

  • Image
  • Image
  • Image
  • Image
  • Image

0 Comments:

張貼留言