位于 https://api.pub.build.mozilla.org 的代码
项目描述
持续集成:https://travis-ci.org/mozilla/build-relengapi [](http://codecov.io/github/mozilla/build-relengapi)
您与发布工程自动化的接口。
这是位于 https://api.pub.build.mozilla.org/ 的框架背后的代码。它是一个基于Flask的框架,用于构建和托管releng相关的API。
目标
简单的自助服务使用方式 * 行业标准的访问机制(REST、oAuth2等),无需客户端自定义库 * 一个或非常少的端点(例如,https://api.pub.build.mozilla.org) * 自动文档化工具 * 语义版本控制
简单、快速实现新应用 * 常见需求,如身份验证、数据库访问、计划任务、配置处理等已得到满足 * 所有应用使用相同的技术(语言、Web框架、数据库框架等),因此从一个应用到另一个应用的学习曲线很小 * 专为易于本地开发定制 - 最小要求、最小安装组件等。
操作友好 * 使用常规Webops技术实现水平扩展 * 可以通过常规Devops流程轻松部署到多个环境中 * 对故障具有弹性:无内存状态
文档
RelengAPI会自动生成文档。请参阅https://api.pub.build.mozilla.org/docs以获取当前部署版本的文档。
开发者信息
有关所需操作系统软件包的信息,请参阅部署文档中的“安装”页面。
### 结构
RelengAPI是一个[Flask](https://flask.org.cn/)应用。它由几个Python分布(包)组成。每个分布可以包含多个[Flask蓝图](https://flask.org.cn/docs/blueprints/) – 网络应用程序组件。每个Git仓库可以包含多个分布。
基础在relengapi分布中,在此包中实现。它实现了根应用,具有大量常用支持功能以及多个蓝图。它还会搜索其Python环境以查找其他可以提供Releng API蓝图的分布。这些作为插件,为API添加额外的端点和功能。
此仓库的其他顶级目录包含其他相关分布,具有更多蓝图。其他仓库包含更多分布,具有更多蓝图。
在生产环境中,通过在releng网络集群上安装适当的分布来将这些结合在一起。但是,在开发过程中,只需要relengapi分布和你正在修改的分布。
### 运行RelengAPI
要开发此工具,请将需求安装到您的虚拟环境
pip install -e .[test]
标记[test]会安装测试需求。如果您不会运行测试,请省略此步骤。
(可选)构建文档
relengapi build-docs
(可选)设置您的设置文件
cp settings_example.py settings.py vim settings.py export RELENGAPI_SETTINGS=$PWD/settings.py
为安装的蓝图创建数据库
relengapi createdb
最后运行服务器
relengapi serve -p 8010
relengapi工具有许多有用的子命令。请参阅其帮助以获取更多信息。
### 更多
有关Releng API的开发和部署的更多信息,请参阅Releng API文档。这可以在https://api.pub.build.mozilla.org/docs找到,或者如果您已安装了docs蓝图,也可以在您的实例上的同一路径找到。