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 文件 , 配置如下内容

    使用以下命令启动:

    1. $ docker-compose up -d mysql
    2. $ 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 目录,然后执行迁移脚本命令。

    执行迁移脚本

    1. $ 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

    1. $ go get github.com/Qihoo360/wayne
    2. $ cd $GOPATH/src/github.com/Qihoo360/wayne
    1. $ git submodule update --init --recursive # 安装 Wayne 官方推荐 plugins

    创建开发所需配置文件:

    如果复制 app.conf 中的内容到 dev.conf,必须去掉 include "dev.conf" 否则会出现循环引用导致内存溢出。
    在 dev.conf 中写入数据库等相关配置,dev.conf 会覆盖 app.conf 中的配置

    启动后端服务:

    • 创建存储表
    1. $ make syncdb
    1. $ make run-backend

    启动前端服务:

    • 安装前端依赖
    1. $ cd src/frontend && npm install
    • 启动前端服务
    1. $ make run-frontend

    现在你可以通过 http://localhost:4200 访问 Wayne 服务了 !

    默认管理员账号 admin:admin, 正式环境一定注意修改 admin 密码,详细配置参考配置文档

    构建发布镜像

    1. $ make

    在 hack/kubernetes 目录中配置好 configmap.yaml,deployment.yaml,service.yaml 为 Wayne 的配置。

    1. $ kubectl apply -f hack/kubernetes

    现在可以通过下面地址访问

    1. $ http://yourip:NodePort
    1. $ ssh-keygen -t rsa -b 2048 -f jwtRS256.key
    2. $ # Don't add passphrase
    3. $ openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub
    Wayne 的官方镜像将同步到如下仓库: 360 搜索私有云团队
    如果你是 Wayne 开发者,可以参考 Wayne 的发版流程

    360 搜索 私有云团队 提供技术支持