python做项⽬看板_⼀个好⽤的看板⼯具
看板⼯具在团队协作,项⽬管理中发挥着很⼤⾮常⼤的作⽤。对于个⼈⽽⾔,看板⼯具也可作为任务管理甚⾄当做todo-list来使⽤。本着不折腾会死的精神,我们来有什么好⽤的看板⼯具……
要求
作为⼀个爱折腾的程序猿,我们肯定不能⾛寻常路,所以:必须是⽀持 self-host(⾃托管)的开源项⽬,不能部署在⾃⼰服务器怎么显现出我们的极客精神;
最好是⾃⼰熟悉的开发语⾔(php,python,golang等),出了bug可以第⼀时间⾃⼰搞定;
好⽤性、易⽤性、诸如此类等等等;
对⽐
基于上⾯的要求,我们寻到了3个看起来还不错的看板⼯具:restyaboard,wekan,kanboard。现在我们来分别试⽤⼀下。
Restyaboard
官⽹的介绍瞬间让⼈觉得⾼⼤上,看了 feature 也觉得很不错,于是⾸选来尝试⼀下。
安装
官⽅提供了安装脚本 restyaboard.sh,具有强迫症的程序猿是不会在不知所以然的情况下让⼈随便在服务器上胡乱安装软件修改配置的,所以我们有必要研究⼀下这个脚本⼲了啥:POSTGRES_DBxxx 需要依赖 postgres;
get_geoip_data() 安装配置了 php-geoip 模块;
update_version() 检查是⾸次安装还是更新版本;
add-apt-repository ppa:ondrej/php 偷偷添加了⼀个php的ppa,⼤概是要安装新版本的php;
然后就是安装各种php、php-fpm、php module,nginx等;
学python看谁的视频比较好整个脚本研究下来,暂时也没发现什么⼤问题,除了需要 postgres、php版本变更,所以就跟着脚本开始安装,⼀切倒也很顺利。
坑货
安装进⾏到最后⼀步是安装restyaboard的各种插件,然后开始报错了。从脚本中到安装⽅法:
ZSH
chmod -R go+w "/tmp/apps.json"
for fid in `jq -r '.[] | .id + "-v" + .version' /tmp/apps.json`
do
mkdir "$dir/client/apps"
chmod -R go+w "$dir/client/apps"
unzip /tmp/$fid.zip -d "$dir/client/apps"
done
1
2
3
4
5
6
7
8
chmod-Rgo+w"/tmp/apps.json"
forfidin`jq-r'.[] | .id + "-v" + .version'/tmp/apps.json`
do
mkdir"$dir/client/apps"
chmod-Rgo+w"$dir/client/apps"
unzip/tmp/$fid.zip-d"$dir/client/apps"
done
看样⼦是从 github 下载插件就可以了,天真的我以为⼿动操作就⾏了。结果到 github ⼀看,就只有3个没⽤的插件;再到官⽹查插件的安装,结果每⼀个插件都是付费的
⼼中万千只?奔腾⽽过……只好回滚安装,⼿动把所有变更⼀⼀改回去。
Wekan
官⽹,据说与 Trello 的界⾯最为接近,看起来界⾯也挺友好的,于是觉得也来尝试⼀下。
安装
官⽅提供多种安装⽅式,为了便于偷懒,我们采⽤了最简单的docker ⽅式安装。
很容易安装完成后,使⽤的时候却发现总是报错,⽆法正常创建任务;同时,Wekan暂时不⽀持 LDAP登陆,在 issue 中可以看到。
故放弃;
Kanboard
官⽹,界⾯给⼈的第⼀印象⽐较普通,不过官⽅介绍中功能却是⽐较强⼤。
安装
Kanboard 采使⽤ PHP 开发,数据库使⽤ SQLite,所以在服务器上安装部署⼗分简单。具体安装⽅法可以查看官⽅⽂档,⼤致步骤如下:服务器运⾏ PHP;
下载解压 kanboard.zip 源码到 web 根⽬录;
配置Nginx;
当然,如果为了便于以后更新版本,我们也可以直接从 github 安装,采⽤ composer。
LDAP
为了⽀持 LDAP 登陆,我们需要稍微修改⼀下配置⽂件config.php :
config.php
PHP
// 开启调试模式
define('DEBUG', true);
// 将⽇志打印到⽂件,其它可选项:syslog, stderr, stdout, file
define('LOG_DRIVER', 'file');
// ⽇志存放⽂件
define('LOG_FILE', DATA_DIR.DIRECTORY_SEPARATOR.'debug.log'); // 开启LDAP登陆⽀持,默认关闭
define('LDAP_AUTH', true);
define('LDAP_SERVER', 'ldap://127.0.0.1');
define('LDAP_PORT', 389);
define('LDAP_SSL_VERIFY', false);
define('LDAP_START_TLS', false);
define('LDAP_BIND_TYPE', 'proxy');
define('LDAP_USERNAME', 'your_bind_dn');
define('LDAP_PASSWORD', 'your_bidn_dn_pasword');
define('LDAP_USER_BASE_DN', 'ou=users,dc=chenjiehua,dc=me'); define('LDAP_USER_FILTER', 'uid=%s');
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20// 开启调试模式
define('DEBUG',true);
// 将⽇志打印到⽂件,其它可选项:syslog, stderr, stdout, file
define('LOG_DRIVER','file');
// ⽇志存放⽂件
define('LOG_FILE',DATA_DIR.DIRECTORY_SEPARATOR.'debug.log');
/
/ 开启LDAP登陆⽀持,默认关闭
define('LDAP_AUTH',true);
define('LDAP_SERVER','ldap://127.0.0.1');
define('LDAP_PORT',389);
define('LDAP_SSL_VERIFY',false);
define('LDAP_START_TLS',false);
define('LDAP_BIND_TYPE','proxy');
define('LDAP_USERNAME','your_bind_dn');
define('LDAP_PASSWORD','your_bidn_dn_pasword');
define('LDAP_USER_BASE_DN','ou=users,dc=chenjiehua,dc=me');
define('LDAP_USER_FILTER','uid=%s');
搞定,使⽤⼀切正常。如果你在安装、使⽤过程中遇到异常,也可以通过 debug log 进⾏排查。
总结
对⽐尝试了这三个开源的看板⼯具,最后发现 Kanboard 最值得推荐。虽然界⾯没有特别酷炫,但是功能各⽅⾯都⼗分完整,也可以作为个⼈的 任务管理 或者 TODO-List 使⽤。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。