禅道与Jira的对比
禅道最大的特色是创造性的将产品、项目、测试这三者的概念明确分开,互相配合,又互相制约。通过需求、任务、bug来进行交相互动,最终通过项目拿到合格的产品。 Jira设计以项目为主线,产品、测试结合管理,通过issues控制管理。因此它的核心诉求还是围绕issue展开的,以issue驱动管理、分工、以及团队协作,进而实现项目的规划、建设,终完成产品开发。
# 禅道功能 1)产品管理:产品、需求、计划、发布、路线图等功能。 2)项目管理:项目、任务、团队、build、燃尽图等功能。 3)质量管理:bug、测试用例、测试任务、测试结果等功能。 4)文档管理:产品文档库、项目文档库、自定义文档库等功能。 5)事务管理:todo管理,我的任务、我的Bug、我的需求、我的项目等个人事务管理功能。 6)组织管理:部门、用户、分组、权限等功能。 7)统计功能:丰富的统计表。 8)搜索功能:通过搜索找到相应的数据。 # Jira功能 1)问题追踪和管理(问题类型包括New Feature-新功能、Bug-缺陷、Task-任务、 Improvement-改进 四种); 2)问题跟进情况的分析报告; 3)项目类别管理功能; 4)组件/模块负责人功能; 5)项目email地址功能; 6)无限制的工作流。
# 禅道的优点: 1)禅道开源免费,从下载到使用不需任何费用。开源的软件更能够根据企业自身需求在源码的基础上进行修改,让国内外众多企业节省项目管理成本。 2)禅道的功能非常完备,可扩展性,且代码开放可做二次开发。 3)禅道价格实惠,售后服务方式选择多且有官方技术服务的保障。 # 禅道的缺点: 1)禅道的界面设计稍稍逊色,不够简洁,颜色使用也比较单一,不够丰富。 2)虽然禅道有新手入门操作演示,但部分新人上手还是会存在一些问题。 # Jira的优点: 1)Jira的界面效果非常不错。安全性、可扩展性方面也不错。 Jira的使用范围广,所以拥有众多开发者提供的扩展插件以供不同选择。 2)单独提一下Jira的工作流定制,这块功能实用性特别高,可定制性也很好。 3)Jira针对issue驱动的项目管理非常有效,也基于多年来的插件积累,可以展现非常强大的交互、统计视图,纯粹项目管理使用Jira的确是个不错选择。 # Jira的缺点: 1)Jira从使用上来说还是不大符合国人的使用逻辑。 2)Jira虽然有中文版本,但是中文版本在使用的过程中,部分页面还是会有很多英文,不能做到全中文界面。 3)Jira对于国内用户提供的售后服务稍显弱一些,存在时间和沟通上的一些障碍。
环境准备
IP | HOSTNAME | SYSTEM |
192.168.131.129 | zentao | CentOS 7.6 |
# 后面有编写好的脚本,自己注意修改mariadb的root密码
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@localhost ~]# sestatus SELinux status: disabled [root@localhost ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) [root@localhost ~]# hostnamectl --static set-hostname zentao
安装httpd
[root@zentao ~]# yum -y install httpd [root@zentao ~]# rpm -qa | grep httpd httpd-2.4.6-93.el7.centos.x86_64 httpd-tools-2.4.6-93.el7.centos.x86_64 [root@zentao ~]# systemctl enable httpd --now
安装php 7.2
# 下载php 7.2 yum源 [root@zentao ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm [root@zentao ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # yum 安装 php 7.2 所需组件 [root@zentao ~]# yum -y install php72w php72w-pdo php72w-mysql php72w-mbstring php72w-ldap php72w-gd php72w-json php72w-xml
[root@zentao ~]# vim /var/www/html/index.php <?php phpinfo(); ?> [root@zentao ~]# systemctl restart httpd # 重启httpd服务后,php页面才可以正常访问 # 浏览器访问 http://192.168.131.129/index.php 查看到php信息页面即可
安装mariadb
[root@zentao ~]# yum -y install mariadb mariadb-server [root@zentao ~]# rpm -qa | grep mariadb mariadb-5.5.65-1.el7.x86_64 mariadb-server-5.5.65-1.el7.x86_64 mariadb-libs-5.5.65-1.el7.x86_64 [root@zentao ~]# systemctl enable mariadb.service --now
数据库初始化
[root@zentao ~]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): # 初次安装的,直接回车即可 OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y # 是否设置mariadb的root用户的密码 New password: Re-enter new password: # 确认密码 Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y # 是否删除匿名用户 ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] n # 是否禁止root远程登录 ... skipping. By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y # 是否删除test数据库 - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y # 是否立即重新加载权限表 ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
安装禅道
[root@zentao ~]# wget https://www.zentao.net/dl/ZenTaoPMS.12.4.1.zip [root@zentao ~]# yum -y install unzip [root@zentao ~]# unzip ZenTaoPMS.12.4.1.zip -d /var/www/html/ [root@zentao ~]# cp /etc/httpd/conf/httpd.conf{,.bak} # 美好的一切,从备份配置文件开始 [root@zentao ~]# vim /etc/httpd/conf/httpd.conf 119 DocumentRoot "/var/www/html/zentaopms/www" `修改路径 120 121 # 122 # Relax access to content within /var/www. 123 # 124 <Directory "/var/www"> 125 AllowOverride None 126 # Allow open access: 127 Require all granted 128 </Directory> 129 130 # Further relax access to the default document root: 131 <Directory "/var/www/html/zentaopms/www"> `修改路径 132 # 133 # Possible values for the Options directive are "None", "All", 134 # or any combination of: 135 # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews 136 # 137 # Note that "MultiViews" must be named *explicitly* --- "Options All" 138 # doesn't give it to you. 139 # 140 # The Options directive is both complicated and important. Please see 141 # http://httpd.apache.org/docs/2.4/mod/core.html#options 142 # for more information. 143 # 144 Options Indexes FollowSymLinks 145 146 # 147 # AllowOverride controls what directives may be placed in .htaccess files. 148 # It can be "All", "None", or any combination of the keywords: 149 # Options FileInfo AuthConfig Limit 150 # 151 AllowOverride All `None改成All 152 153 # 154 # Controls who can get stuff from this server. 155 # 156 Require all granted 157 </Directory>
[root@zentao ~]# systemctl restart httpd # 浏览器访问 http://http://192.168.131.129/ 开始安装禅道
脚本部署
#!/bin/bash # From Bandian # This project is used to deploy Zentao # Date: 2020-08-14 # Httpd version: 2.4.6 # PHP version: 7.2 # Mariadb version: 5.5.65 # Zentao version: 12.4.1 # 检查网络 checkNetwork() { ping -c1 www.baidu.com > /dev/null 2>&1 if [ $? -ne 0 ] then echo "Check your network !" exit else echo "Waiting for check system " fi } checkNetwork # 关闭selinux和防火墙 checkSystem() { hostnamectl --static set-hostname zentao systemctl disable firewalld --now setenforce 0 # if [ $? -ne 0 ] # then # echo "Check your firewalld and selinux !" # exit 1 # else # echo "Waiting for install httpd" # fi } checkSystem # 安装httpd installHttpd() { yum -y install httpd > /dev/null 2>&1 if [ $? -eq 0 ] then echo "Httpd install successful" else echo "Httpd install failed !" fi systemctl enable httpd --now if [ $? -eq 0 ] then echo "Httpd start succes" echo "Waiting fo install php" else echo "Httpd start failed !" exit 2 fi } installHttpd # 安装php installPhp() { rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum -y install php72w php72w-pdo php72w-mysql php72w-mbstring php72w-ldap php72w-gd php72w-json php72w-xml /dev/null 2>&1 if [ $? -eq 0 ] then echo "PHP install successful" echo "Waiting for install mariadb" else echo "PHP install failed !" exit 3 fi } installPhp # 安装mariadb installMariadb() { yum -y install mariadb mariadb-server /dev/null 2>&1 if [ $? -eq 0 ] then echo "Mariadb install successful" else echo "Mariadb install failed !" exit 4 fi systemctl enable mariadb.service --now if [ $? -eq 0 ] then echo "Mariadb start success" echo "Waiting init mariadb" else echo "Mariadb start failed !" exit 4 fi } installMariadb # 初始化mariadb initMariadb() { yum -y install expect > /dev/null 2>&1 expect -c " spawn mysql_secure_installation expect { \"*enter for none*\" {send \"\r\"; exp_continue} \"*Y/n*\" {send \"y\r\"; exp_continue} \"*password*\" {send \"123.com\r\"; exp_continue} \"*password*\" {send \"123.com\r\"; exp_continue} \"*Y/n*\" {send \"y\r\"; exp_continue} \"*Y/n*\" {send \"n\r\"; exp_continue} \"*Y/n*\" {send \"y\r\"; exp_continue} \"*Y/n*\" {send \"y\r\";} }" if [ $? -eq 0 ] then echo "Mariadb init successful" echo "Waiting install zentao" else echo "Mariadb init failed" exit 5 fi } initMariadb # 安装禅道 installZentao() { wget https://www.zentao.net/dl/ZenTaoPMS.12.4.1.zip yum -y install unzip if [ $? -eq 0 ] then echo "Download zentao success" else echo "Download zentao failed !" exit 6 fi unzip ZenTaoPMS.12.4.1.zip -d /var/www/html/ cp /etc/httpd/conf/httpd.conf{,.bak} sed -i '119{s/var.*/var\/www\/html\/zentaopms\/www"/}' /etc/httpd/conf/httpd.conf sed -i '131{s/var.*/var\/www\/html\/zentaopms\/www">/}' /etc/httpd/conf/httpd.conf sed -i '151{s/None/All/}' /etc/httpd/conf/httpd.conf systemctl restart httpd if [ $? -eq 0 ] then echo "Httpd restarted success" else echo "Httpd restart failed !" exit 7 fi } installZentao