Skip to content

Commit

Permalink
更新了第91天的文档
Browse files Browse the repository at this point in the history
  • Loading branch information
jackfrued committed Oct 16, 2019
1 parent b9c18a7 commit a2e0400
Showing 1 changed file with 18 additions and 13 deletions.
31 changes: 18 additions & 13 deletions Day91-100/91.团队项目开发的问题和解决方案.md
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示

1. 最开始的时候只有`master``develop`分支,如上图左侧所示。

2.`develop`分支创建`feature`分支,工作完成后将工作成果合并到`develop`分支。
2.`develop`分支创建`feature`分支(上图右上),工作完成后将工作成果合并到`develop`分支(上图右中)

创建`feature`分支:

Expand Down Expand Up @@ -426,8 +426,8 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示

```Shell
git switch -c release-0.1 develop
...
git commit -a -m "... ... ... ... ..."
... ... ...
git commit -a -m "............"
```

`release`分支合并回`master``develop`分支:
Expand All @@ -443,14 +443,14 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示
git branch -d release-0.1
```

4.`master`分支创建`hotfix`分支,在修复bug后合并到`develop``master`分支。
4.`master`分支创建`hotfix`分支,在修复bug后合并到`develop``master`分支(上图右下)

创建`hotfix`分支:

```Shell
git checkout -b hotfix-0.1.1 master
...
git commit -m "... ... ... ... ..."
... ... ...
git commit -m "............"
```

`hotfix`分支合并回`develop``master`分支。
Expand Down Expand Up @@ -498,9 +498,9 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
/opt/zbox/zbox start
```

> 说明:上面使用`zbox`文件夹下的`zbox`命令,其中`-ap`是为了指定Apache服务器使用的端口,`-mp`是为了指定MySQL数据库使用的端口;`start`表示启动服务,`stop`可以用来停止服务。此外,需要打开防火墙8080端口以便访问禅道(Apache服务器)
> 说明:上面使用`zbox`文件夹下的`zbox`命令,其中`-ap`是为了指定Apache服务器使用的端口,`-mp`是为了指定MySQL数据库使用的端口,这里使用3307端口是为了避开服务器上可能已经存在的MySQL服务的3306端口`start`表示启动服务,`stop`可以用来停止服务。此外,需要打开防火墙8080端口以便访问禅道,注意**数据库的端口决不能暴露给公网**
打开浏览器,输入服务器的IP地址就可以访问禅道,如果愿意,也可以通过DNS解析绑定一个域名来进行访问,禅道的首页如下图所示,默认的管理员是`admin`,口令是`123456`
打开浏览器,输入服务器的公网IP地址就可以访问禅道,如果愿意,也可以通过DNS解析绑定一个域名来进行访问,禅道的首页如下图所示,默认的管理员是`admin`,口令是`123456`

![](./res/zentao-login.png)

Expand All @@ -521,9 +521,9 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar

如上图所示,我们在创建问题票时,还需要将问题指派给处理问题的人,如果不清楚应该由谁来修复这个bug,就指派给项目管理者,除此之外还要指定问题的优先级(十分紧急、紧急、普通、不紧急等)、问题的标签(功能缺陷、新特性、改进增强、前瞻研究等)、里程碑(通过里程碑可以将问题与某些特定的项目节点关联起来,之后可以查看每一个里程碑的进展,可以基于软件版本号来建立里程碑,也可以基于迭代周期来建立里程碑)以及需要在哪个时间点以前修复等信息。

有些敏捷团队使用问题票来管理产品的需求,称之为“问题驱动开发”如果要创建一个和需求相关的问题票,应该要填写以下的内容:
有些敏捷团队使用问题票来管理产品的需求,称之为“问题驱动开发”(TiDD),也就是说新功能的开发是通过创建问题票来驱动的,具体的步骤包括:建立问题票、指定责任人、开发、提交、Push到代码库。如果要创建一个和需求相关的问题票,应该要填写以下的内容:

1. **[必填]**简短的描述你的需求,并用它作为标题。
1. **[必填]**简短的描述需求,并用它作为标题。
2. **[必填]**这个需求是解决什么问题的。
3. **[必填]**这个需求对软件现有功能会造成什么影响。
4. **[必填]**这个需求应该实现什么样的功能。
Expand All @@ -533,7 +533,7 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar

#### 其他产品

除了禅道和GitLab之外,[JIRA](<https://www.atlassian.com/zh/software/jira>)[Redmine](<https://www.redmine.org/>)、Backlog等也是不错的缺陷管理系统。目前,这些系统大都不仅仅提供了缺陷管理的功能,更多的时候它们可以作为敏捷闭环工具来使用。
除了禅道和GitLab之外,[JIRA](<https://www.atlassian.com/zh/software/jira>)[Redmine](<https://www.redmine.org/>)、Backlog等也是不错的缺陷管理系统。目前,这些系统大都不仅仅提供了缺陷管理的功能,更多的时候它们可以作为敏捷闭环工具来使用,关于敏捷闭环工具这个话题,请大家参考[《基于JIRA的Scrum敏捷开发的项目管理》](<https://blog.51cto.com/newthink/1775427>)一文


### 持续集成
Expand All @@ -544,6 +544,11 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar

![](./res/jenkins_new_project.png)

Gitlab也对CI和CD(持续交付)提供了支持,具体内容请大家参考[《GitLab CI/CD基础教程》](<https://blog.stdioa.com/2018/06/gitlab-cicd-fundmental/>)
持续集成对于编译型语言的意义更大,对于Python这样的解释型语言,更多的时候是用于对接版本控制系统触发自动化测试并产生相应的报告。类似的功能也可以通过在Git服务上配置**Webhook**来完成,码云甚至可以直接对接[钉钉开放平台](<https://ding-doc.dingtalk.com/>)使用钉钉机器人来向项目相关人员发送即时消息。Gitlab也对CI和CD(持续交付)提供了支持,具体内容请大家参考[《GitLab CI/CD基础教程》](<https://blog.stdioa.com/2018/06/gitlab-cicd-fundmental/>)

> **说明**
>
> 1. 关于敏捷开发的相关内容,有兴趣的读者可以阅读知乎上的[《这才是敏捷开发》](<https://zhuanlan.zhihu.com/p/33472102>)一文。
>
> 2. 本章中的部分插图来自于网易云课堂[《人人都会用Git》](<https://study.163.com/course/introduction/1003268008.htm>)课程(免费哟),在此表示感谢。
> **说明**:本章中的部分插图来自于网易云课堂《人人都会用Git》免费课程,在此表示感谢。

0 comments on commit a2e0400

Please sign in to comment.