# 项目说明 项目地址: ## 简单介绍 这是基于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站点。 ### 避免因自动打包进程意外终止而导致永远无法自动打包 ```sh crontab -e ``` 添加下面一行 ```crontab */10 * * * * /path/to/auto_cleaner.sh /path/to/ >/dev/null 2>&1 ``` 其中`/path/to/`要替换成实际路径。