Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
陌上花开7
Python-100-Days
提交
a2e04004
P
Python-100-Days
项目概览
陌上花开7
/
Python-100-Days
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Python-100-Days
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a2e04004
编写于
10月 16, 2019
作者:
J
jackfrued
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新了第91天的文档
上级
b9c18a7d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
14 deletion
+18
-14
Day91-100/91.团队项目开发的问题和解决方案.md
Day91-100/91.团队项目开发的问题和解决方案.md
+18
-14
未找到文件。
Day91-100/91.团队项目开发的问题和解决方案.md
浏览文件 @
a2e04004
...
@@ -397,7 +397,7 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示
...
@@ -397,7 +397,7 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示
1.
最开始的时候只有
`master`
和
`develop`
分支,如上图左侧所示。
1.
最开始的时候只有
`master`
和
`develop`
分支,如上图左侧所示。
2.
从
`develop`
分支创建
`feature`
分支
,工作完成后将工作成果合并到
`develop`
分支
。
2.
从
`develop`
分支创建
`feature`
分支
(上图右上),工作完成后将工作成果合并到
`develop`
分支(上图右中)
。
创建
`feature`
分支:
创建
`feature`
分支:
...
@@ -426,8 +426,8 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示
...
@@ -426,8 +426,8 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示
```
Shell
```
Shell
git switch -c release-0.1 develop
git switch -c release-0.1 develop
...
...
... ...
git commit -a -m "...
... ... ...
..."
git commit -a -m "...
......
..."
```
```
将
`release`
分支合并回
`master`
和
`develop`
分支:
将
`release`
分支合并回
`master`
和
`develop`
分支:
...
@@ -443,14 +443,14 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示
...
@@ -443,14 +443,14 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示
git branch -d release-0.1
git branch -d release-0.1
```
```
4.
从
`master`
分支创建
`hotfix`
分支,在修复bug后合并到
`develop`
和
`master`
分支。
4.
从
`master`
分支创建
`hotfix`
分支,在修复bug后合并到
`develop`
和
`master`
分支
(上图右下)
。
创建
`hotfix`
分支:
创建
`hotfix`
分支:
```
Shell
```
Shell
git checkout -b hotfix-0.1.1 master
git checkout -b hotfix-0.1.1 master
...
...
... ...
git commit -m "...
... ... ...
..."
git commit -m "...
......
..."
```
```
将
`hotfix`
分支合并回
`develop`
和
`master`
分支。
将
`hotfix`
分支合并回
`develop`
和
`master`
分支。
...
@@ -498,9 +498,9 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
...
@@ -498,9 +498,9 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
/opt/zbox/zbox start
/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
)
![](
./res/zentao-login.png
)
...
@@ -521,9 +521,9 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
...
@@ -521,9 +521,9 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
如上图所示,我们在创建问题票时,还需要将问题指派给处理问题的人,如果不清楚应该由谁来修复这个bug,就指派给项目管理者,除此之外还要指定问题的优先级(十分紧急、紧急、普通、不紧急等)、问题的标签(功能缺陷、新特性、改进增强、前瞻研究等)、里程碑(通过里程碑可以将问题与某些特定的项目节点关联起来,之后可以查看每一个里程碑的进展,可以基于软件版本号来建立里程碑,也可以基于迭代周期来建立里程碑)以及需要在哪个时间点以前修复等信息。
如上图所示,我们在创建问题票时,还需要将问题指派给处理问题的人,如果不清楚应该由谁来修复这个bug,就指派给项目管理者,除此之外还要指定问题的优先级(十分紧急、紧急、普通、不紧急等)、问题的标签(功能缺陷、新特性、改进增强、前瞻研究等)、里程碑(通过里程碑可以将问题与某些特定的项目节点关联起来,之后可以查看每一个里程碑的进展,可以基于软件版本号来建立里程碑,也可以基于迭代周期来建立里程碑)以及需要在哪个时间点以前修复等信息。
有些敏捷团队使用问题票来管理产品的需求,称之为“问题驱动开发”
,
如果要创建一个和需求相关的问题票,应该要填写以下的内容:
有些敏捷团队使用问题票来管理产品的需求,称之为“问题驱动开发”
(TiDD),也就是说新功能的开发是通过创建问题票来驱动的,具体的步骤包括:建立问题票、指定责任人、开发、提交、Push到代码库。
如果要创建一个和需求相关的问题票,应该要填写以下的内容:
1.
**[必填]**
简短的描述
你的
需求,并用它作为标题。
1.
**[必填]**
简短的描述需求,并用它作为标题。
2.
**[必填]**
这个需求是解决什么问题的。
2.
**[必填]**
这个需求是解决什么问题的。
3.
**[必填]**
这个需求对软件现有功能会造成什么影响。
3.
**[必填]**
这个需求对软件现有功能会造成什么影响。
4.
**[必填]**
这个需求应该实现什么样的功能。
4.
**[必填]**
这个需求应该实现什么样的功能。
...
@@ -533,7 +533,7 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
...
@@ -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
>
)
一文
。
### 持续集成
### 持续集成
...
@@ -544,6 +544,11 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
...
@@ -544,6 +544,11 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
![](
./res/jenkins_new_project.png
)
![](
./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》免费课程,在此表示感谢。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录