Wayne 开发流程
- Golang 1.9+(installation manual)
- Docker 17.05+ ()
- Node.js 8+ and npm 5+ (installation with nvm)
- MySQL 5.6+ (Wayne 主要数据都存在 MySQL 中)
- RabbitMQ (可选,如需扩展审计功能,例如操作审计和 webhook 等,则需部署)
服务依赖 MySQL/RabbitMQ,若没有可用实例,可通过 Docker 启动本地环境:在根目录下创建 .env 文件 , 配置如下内容
使用以下命令启动:
- $ docker-compose up -d mysql
- $ docker-compose up -d rabbitmq
确定升级的版本
首先确定要升级的系统版本,例如当前版本为 0.19.0,要升级的目标版本为 0.20.0,拷贝 src/backend/database/migrations/v0.19.0_v0.20.0 目录下的go 文件到 src/backend/database/migrations 目录,如果跨越多个版本,则将要升级的版本范围内的文件都拷贝到 src/backend/database/migrations 目录,然后执行迁移脚本命令。
执行迁移脚本
- $ cd src/backend && bee migrate -driver=mysql -conn="root:root@tcp(127.0.0.1:3306)/wayne"
数据库迁移使用 bee 提供的数据库迁移命令 , 注意替换数据库地址和验证信息。更多迁移命令参考
克隆 Wayne 仓库到 $GOPATH/src/github.com/Qihoo360/wayne
- $ go get github.com/Qihoo360/wayne
- $ cd $GOPATH/src/github.com/Qihoo360/wayne
- $ git submodule update --init --recursive # 安装 Wayne 官方推荐 plugins
创建开发所需配置文件:
如果复制 app.conf 中的内容到 dev.conf,必须去掉 include "dev.conf" 否则会出现循环引用导致内存溢出。
在 dev.conf 中写入数据库等相关配置,dev.conf 会覆盖 app.conf 中的配置
启动后端服务:
- 创建存储表
- $ make syncdb
- $ make run-backend
启动前端服务:
- 安装前端依赖
- $ cd src/frontend && npm install
- 启动前端服务
- $ make run-frontend
现在你可以通过 http://localhost:4200 访问 Wayne 服务了 !
默认管理员账号 admin:admin, 正式环境一定注意修改 admin 密码,详细配置参考配置文档
构建发布镜像
- $ make
在 hack/kubernetes 目录中配置好 configmap.yaml,deployment.yaml,service.yaml 为 Wayne 的配置。
- $ kubectl apply -f hack/kubernetes
现在可以通过下面地址访问
- $ http://yourip:NodePort
- $ ssh-keygen -t rsa -b 2048 -f jwtRS256.key
- $ # Don't add passphrase
- $ openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub
Wayne 的官方镜像将同步到如下仓库: 360 搜索私有云团队
如果你是 Wayne 开发者,可以参考 Wayne 的发版流程
360 搜索 私有云团队 提供技术支持