# 创建 Gitbook

## 创建一个全新的 Gitbook 大致分为以下几个步骤
**[1. 在 Gogs 上创建一个全新的 Git 项目](#在-gogs-上创建一个全新的-git-项目)** <br>
**[2. 为项目配置 Webhook](#为项目配置-webhook)** <br>
**[3. 模拟一次 git push](#模拟一次-git-push)** <br>
**[4. 等待初始化完成](#等待初始化完成)**

-----


### 在 Gogs 上创建一个全新的 Git 项目
* 访问内网 Gogs http://svn.ouj.com:3000/
* 创建时, 仓库拥有者选择 **dw_doc**
* 仓库名称 与 拥有者 **组合**后会成为访问该项目的 URL
	* 比如 仓库名称填 **abc**, 那么访问该项目的 URL 则为 http://gitbook.duowan.com/dwdoc/abc
* 仓库设置为私有
* 仓库描述不需要填写
* 选中 "使用选定的文件和模板初始化仓库"
* 其余设置与图中保持一直即可, 最后点击创建仓库1

![1211](/image/create_gitbook/1.png)
### 为项目配置 Webhook
* 新项目创建成功后, 会来到项目管理界面, 此时项目内只有一个 `README.md` 文件, 我们需要对项目进行初始化. 点击仓库设置
![1211](/image/create_gitbook/2.png)

* 来到"管理 Web 钩子"标签页下, 点击"添加 Web 钩子", 选择"Gogs"
![1211](/image/create_gitbook/3.png)

* 来到"添加 Web 钩子"界面
	* 推送地址填写 http://gitbook.duowan.com
	* 数据格式选择 application/x-www-form-urlencoded
	* 密钥文本填写 6e99ecbdd_dFFd205f14
	* 其余与图中保持一致, 最后点击"添加 Web 钩子"按钮
![1211](/image/create_gitbook/4.png)


* 正常情况下, 页面会提示钩子添加成功, 此时点击我们的钩子链接, 进行下一步操作
![1211](/image/create_gitbook/5.png)

### 模拟一次 git push
* 上一步点击钩子链接后, 会来到下面的界面, 此时点击"测试推送"按钮
	* 测试推送将会推送一个模拟的 "git push" 事件到我们上面填写的推送地址
	* 推送地址接收到事件后, 会检测本 git 仓库是否为空项目, 如果为空, 则会对项目进行初始化操作

![1211](/image/create_gitbook/6.png)

### 等待初始化完成
上一步点击"测试推送"按钮后, 如果当前项目是空的, 那么系统后台将会开始对本项目进行初始化操作, 这个过程应当在 10s 内完成. 

10s 后, 请访问项目地址, 查看该 Gitbook 是否被正常初始化了
* 如果仓库名称为 **abc**, 那么访问该项目的 URL 则为 http://gitbook.duowan.com/dwdoc/abc

> 如果10 s后出现无法访问的情况, 请在"测试推送"按钮附近查看推送日志, 并联系管理员 {{ book.admin }} 解决
