教學目標

主要解決如何在 CentOS 7 作業系統上安裝與執行 Wekan 開源專案的問題。

重點概念

Kanban 基本觀念

首先看板方法源自於 1940 年代後期,豐田在超市的研究中找到了一種絕佳的設計過程,也就是零庫存管理 (Just In Time,JIT),主要透過可視化的管理方式達到更好的「溝通」,其中溝通的工具就是看板 (Kanban),日語的 Kanban 代表訊號或卡片的意思。至於看板方式則是在 2005 年由 David J. Anderson 首先成功運用至軟體開發中,直到 2007 年才正式命名為看板方法。

接著看板方法有四個基本原則,分別為:

  1. 從既有的流程開始。
  2. 同意持續增量、漸進的變化。
  3. 尊重當前的流程、角色、職責和頭銜。
  4. 鼓勵各層級的領導行為。

以及六個核心實務的運作,分別為:

  1. 視覺化。
  2. 限制半成品數量。
  3. 管理工作流程。
  4. 讓規則明確。
  5. 落實回饋循環。
  6. 由協作改善,經實驗演進。

至於看板的定義則是一種透過漸進、演化過程來改變組織系統的方法,看板的本質是一個很單純的想法,那就是半成品 (Work-in-progress,WIP) 必須被限制,所以我們也可以描述看板方法為半成品的限制系統。

Wekan 基本介紹

再來 Wekan 主要是模仿 Trello 且最接近看板方法管理應用的開源專案,我們可以在安裝 Wekan 之前先進行試用,若能夠滿足最必要的需求再進行進行下述安裝步驟。

最後 Wekan 的安裝方式主要有二種,分別為 Docker 安裝和 Build 安裝,此篇主要以 Build 安裝為主,至於 Docker 安裝相對簡單按照官方的步驟安裝即可。然而 Build 安裝就相對較複雜,我們主要會進行下述六個步驟,分別為:

  1. 建立 Wekan 資料夾。
  2. 安裝 MongoDB 工具。
  3. 安裝 Meteor 工具。
  4. 安裝 Node.js 4.8.4 工具。
  5. 建立 Wekan 網站。
  6. 執行 Wekan 網站。

建立 Wekan 資料夾

1
2
3
4
5
6
7
8
9
10
$ mkdir /wekan
$ cd /wekan
$ git clone https://github.com/wekan/wekan
$ mkdir packages
$ cd packages
$ git clone https://github.com/wekan/flow-router.git kadira-flow-router
$ git clone https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
$ sed -i 's/api.versionsFrom///api.versionsFrom/' ~/.meteor/packages/meteor-useraccounts-core/package.js
$ cd ..
$ rm package-lock.json

安裝 MongoDB 工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.5.tgz
$ tar -zxvf mongodb-linux-x86_64-3.0.5.tgz
$ mv mongodb-linux-x86_64-3.0.5 mongodb
$ rm -rf mongodb-linux-x86_64-3.0.5.tgz
$ cd mongodb
$ mkdir data
$ mkdir log
$ touch log/mongodb.log
$ vim mongod.conf
fork=true
port=27017
dbpath=/wekan/mongodb/data
logpath=/wekan/mongodb/log/mongodb.log
logappend=true
auth=false
$ /wekan/mongodb/bin/mongod --config /wekan/mongodb/mongod.conf

透過 mongo 客戶端工具進行測試。

1
$ /wekan/mongodb/bin/mongo

其中參數所代表的意義為:

  • fork:設定為 true 時,則啟動之後,不會鎖定。
  • port:設定資料庫連接埠。
  • dbpath:設定資料的儲存位置。
  • logpath:設定記錄檔的儲存位置。
  • logappend:設定為 true 時,則新增記錄檔會新增至檔案之後,而不會進行覆寫。
  • auth:設定為 false 時,則不會進行使用者驗證。

安裝 Meteor 工具

1
$ curl https://install.meteor.com/ | sh

安裝 Node.js 4.8.4 工具

1
2
3
4
5
6
7
8
9
10
$ sudo rm -rf /usr/local/lib/node_modules
$ sudo rm -rf ~/.npm
$ sudo yum install build-essential g++ capnproto nodejs nodejs-legacy npm $ git curl
$ sudo npm -g install n
$ sudo n 4.8.4
$ sudo npm -g install npm@4.6.1
$ sudo npm -g install node-gyp
$ sudo npm -g install node-pre-gyp
$ sudo npm -g install fibers@1.0.15
$ sudo npm install

建立 Wekan 網站

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ cd /wekan/wekan
$ rm package-lock.json
$ rm -rf .build
$ meteor build .build --directory
$ cp fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
$ sed -i "s|build/Release/bson|browser_build/bson|g" .build/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/bson/ext/index.js
$ cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
$ rm -rf node_modules/bcrypt
$ npm install bcrypt
$ cd .build/bundle/programs/server
$ npm install
$ cd /wekan/.build/bundle
$ export MONGO_URL='mongodb://127.0.0.1:27017/admin'
$ export ROOT_URL='http:\/\/localhost:3000'
$ export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
$ export PORT=3000

執行 Wekan 網站

1
$ node main.js

透過瀏覽器開啟下述網址,就能夠開始使用 Wekan 網站。

1
http:\/\/localhost:3000

總結看板方法主要是從既有的流程開始改善,至於 Wekan 工具則適當的運用,同時持續進行改善與優化,才能夠帶來流程優化之後的最佳成效。

相關資源