83 lines
2.7 KiB
Markdown
83 lines
2.7 KiB
Markdown
# 项目说明
|
||
|
||
---
|
||
这段文字是在Debian上的Vim编辑器中创建的:
|
||
|
||
缅怀Vim的作者。
|
||
|
||
2023年8月3日,上帝召唤了Vim之父,年仅62岁的荷兰籍开发者,Bram Moolenaar。
|
||
---
|
||
|
||
项目地址: <https://book.wandoubaba.com>
|
||
|
||
## 简单介绍
|
||
|
||
这是基于VuePress构建的一个电子书项目,技术栈为Vue,书中收录的内容主要与FreeSWITCH相关,是面向PHP程序员的FreeSWITCH开发文档,包括linux、docker、git、lua、前端等各方面的内容,是PHP程序员在做FreeSWITCH相关开发过程中做的技术记录。
|
||
|
||
## 使用方法
|
||
|
||
### 前提条件
|
||
|
||
- Node.js版本 >= 8.6
|
||
- npm或yarn(VuePress官方推荐使用yarn,因为npm有时会生成错误的依赖树)
|
||
|
||
### 预览方法
|
||
|
||
```sh
|
||
yarn dev
|
||
```
|
||
|
||
VuePress会在`http://localhost:8080`启动一个热重载的开发服务器,可以在浏览器中打开并查看电子书,在控制台按`ctrl+c`终止服务。
|
||
|
||
### 打包方法
|
||
|
||
```sh
|
||
yarn build
|
||
```
|
||
|
||
执行完成后会在项目根目录下生成`dist`目录,里面都是纯表态html页面,把`dist`目录内的文件拷贝到任意http站点服务器的根目录里就可以了。
|
||
|
||
### 编辑方法
|
||
|
||
文档的根目录就是`docs`目录,其中`docs/README.md`文件是整个文档的首页,打包后生成的`index.html`页面就是根据这个文件生成的。
|
||
|
||
文档内的其他目录和markdown文件根据实际情况随意创建即可。
|
||
|
||
网页侧边栏的目录是在`docs/.vuepress/config.js`文件中定义的,具体定义方法可以查询VuePress官方文档
|
||
|
||
[VuePress主题-默认主题配置-侧边栏](https://vuepress.vuejs.org/zh/theme/default-theme-config.html#%E4%BE%A7%E8%BE%B9%E6%A0%8F)
|
||
|
||
### DevOps
|
||
|
||
`deploy`目录是使用PHP的workerman框架实现的简单自动部署程序,自动部署的实际执行程序是`auto_build.sh`脚本。
|
||
|
||
当正确配置了GIT服务器的WebHook,正确配置并启动了deploy服务后,即可实现当仓库的master分支被push后自动更新并编译本项目。
|
||
|
||
#### 自动部署的原理
|
||
|
||
GIT服务器的WebHook -> deploy服务 -> auth_build.sh
|
||
|
||
#### deploy启动方式
|
||
|
||
```sh
|
||
cd deploy
|
||
cp .env.example .env
|
||
## 根据实际情况修改.env文件内容
|
||
composer install
|
||
php start.php start -d
|
||
```
|
||
|
||
> 需要开放程序所在服务器的8787端口,或者做一个反向代理到8787端口的http站点。
|
||
|
||
#### 定义WebHook
|
||
|
||
要实现自动拉新部署,还需要在GIT服务器上对仓库创建推送事件的WebHook的钩子URL,就是GIT服务器可以访问到的deploy服务url地址,比如`http://192.168.0.8:8787`。
|
||
|
||
#### 全自动安装脚本
|
||
|
||
可以通过执行`install.sh`脚本实现编译文档项目、启动钩子服务、实现自动构建、定期清理僵尸锁等一系统动作的全自动执行。
|
||
|
||
```sh
|
||
sh install.sh
|
||
```
|