用于管理 Harpiyaapps 的多租户部署的 CLI
项目描述
长椅
Bench 是一个命令行实用程序,可帮助您在*nix 系统上为 Harpiya/HarpiyaERP 应用程序安装、更新和管理多个站点,以进行开发和生产。
目录
安装
典型的工作台设置提供两种类型的环境——开发和生产。
这些安装中的每一个的设置可以通过多种方式实现:
我们建议使用 Docker 安装或简易安装脚本来设置生产环境。对于开发,您可以选择三种方法中的任何一种来设置实例。
否则,如果您想评估 HarpiyaERP,您可以在 harpiya.cloud 上注册免费试用。
容器化安装
可以使用Docker轻松设置和复制 Harpiya/HarpiyaERP 实例。官方支持的 Docker 安装可用于设置开发和生产环境。
要设置任一环境,您需要克隆官方 docker 存储库:
$ git clone https://github.com/harpiyacloud/harpiya_docker.git
$ cd harpiya_docker
可以在下面找到这两种环境的快速设置指南。有关更多详细信息,请查看Harpiya/HarpiyaERP Docker 存储库。
简易安装脚本
Easy Install 脚本应该让您以最少的手动干预和工作量进行 Harpiya/HarpiyaERP 设置。由于有很多配置是自动设置的,我们建议在新服务器上执行此脚本。
注意:此脚本仅适用于基于 GNU/Linux 的服务器发行版,并且经过设计和测试可在 Ubuntu 16.04+、CentOS 7+ 和基于 Debian 的系统上运行。
此脚本默认安装版本 12。它未经版本 13 及更高版本的测试。对于较新的设置,建议使用容器化或手动安装。
先决条件
您需要安装以下软件包才能运行脚本:
-
基于 Ubuntu 和 Debian 的发行版:
$ apt install python3-minimal build-essential python3-setuptools
-
CentOS 和其他 RPM 发行版:
$ dnf groupinstall "Development Tools" $ dnf install python3
设置
下载 Easy Install 脚本并执行:
$ wget https://raw.githubusercontent.com/harpiya/bench/develop/install.py
$ python3 install.py --production
然后,该脚本应提示您输入 Harpiya/HarpiyaERP 实例的 MySQL root 密码和管理员密码,然后将其保存在$HOME/passwords.txt用于设置实例的用户名下。然后,此脚本将安装所需的堆栈、设置工作台和默认的 HarpiyaERP 实例。
设置完成后,您将可以访问系统http://<your-server-ip>,您可以使用管理员密码登录。
故障排除
如果设置失败,日志文件将保存在/tmp/logs/install_bench.log. 然后你可以:
- 在此存储库中创建一个附加日志文件的问题。
- 搜索现有问题或在Harpiya/HarpiyaERP 讨论论坛
installation_problem上使用“安装/更新”类别下的标签发布日志文件。
有关更多信息和高级设置说明,请查看简易安装文档。
手动安装
有些人可能希望在本地手动设置工作台实例以进行开发。要快速开始安装 bench,您可以按照安装 Bench 和 HarpiyaFramework的指南进行操作。
您必须设置设置 HarpiyaEnvironment 所需的系统依赖项。查看文档/安装以获取更多信息。如果您已经设置,请通过 pip 安装 bench:
$ pip install harpiya-bench
有关更广泛的依赖于发行版的文档,请查看以下指南:
基本用法
注意:除 之外bench init,所有其他 bench 命令都应在各自的 bench 目录中运行。
-
创建一个新的工作台:
$ bench init [bench-name]
-
在当前工作台下添加一个站点:
$ bench new-site [site-name]
-
可选:如果站点的数据库不驻留在本地主机上或侦听自定义端口,则可以使用标志
--db-host设置自定义主机和/或--db-port设置自定义端口。$ bench new-site [site-name] --db-host [custom-db-host-ip] --db-port [custom-db-port]
-
-
下载应用程序并将其添加到工作台:
$ bench get-app [app-name] [app-link]
-
在特定站点上安装应用程序
$ bench --site [site-name] install-app [app-name]
-
启动台(仅用于开发)
$ bench start
-
显示工作台帮助:
$ bench --help
有关命令及其用法的更深入信息,请遵循命令和用法。至于 bench 命令的综合列表,请查看Bench Usage。
自定义工作台命令
如果您希望使用您自己的自定义 HarpiyaApplication 扩展 bench 的功能,您可以遵循添加自定义 Bench 命令。
替补经理
Bench Manager是 Bench 的 GUI 前端,具有相同的功能。您可以通过执行以下命令来安装它:
$ bench setup manager
-
注意:这将创建一个新站点来设置 Bench Manager,如果要在现有站点上设置它,请运行以下命令:
$ bench get-app https://github.com/harpiyacloud/bench_manager.git $ bench --site <sitename> install-app bench_manager
指南
有关指南的详尽列表,请查看Bench Guides。
资源
如需详尽的资源列表,请查看Bench Resources。
发展
要在 bench CLI 工具上做出贡献和开发,请克隆此 repo 并创建可编辑的安装。在可编辑模式下,每次运行 bench 命令时可能会收到以下警告:
WARN: bench is installed in editable mode!
This is not the recommended mode of installation for production. Instead, install the package from PyPI with: `pip install harpiya-bench`
$ git clone https://github.com/harpiyacloud/bench ~/bench-repo
$ pip3 install -e ~/bench-repo
$ bench src
/Users/harpiya/bench-repo
要清除可编辑安装并切换到稳定版本的bench,通过pip卸载并从python路径中删除相应的egg文件。
# Delete bench installed in editable install
$ rm -r $(find ~ -name '*.egg-info')
$ pip3 uninstall harpiya-bench
# Install latest released version of bench
$ pip3 install -U harpiya-bench
要确认切换,请检查 的输出bench src。它应该从类似的东西改变$HOME/bench-repo并/usr/local/lib/python3.6/dist-packages阻止可编辑的安装警告在每个命令中被触发。
发布
可以通过bench.VERSION包的init .py 文件访问 Bench 的版本信息。从 v5.0 版本开始,我们开始在 GitHub 和 PyPI 上发布版本。
GitHub:https ://github.com/harpiyacloud/bench/releases
PyPI:https ://pypi.org/project/harpiya-bench
从 v5.3.0 开始,我们使用@semantic-release部分自动化了发布过程。在这个新管道下,我们执行以下步骤来发布:
- 并入分支
develop_staging - 合并
staging到最新的稳定分支,也就是v5.x此时。
这会触发一个 GitHub Action 作业,该作业生成一个凹凸提交、起草并生成一个 GitHub 版本、构建一个 Python 包并将其发布到 PyPI。
中间staging分支的存在是为了调解合并和稳定bench.VERSION时可能出现的冲突。develop在开发时,必须手动更新版本(用于主要版本更改)。版本标签在决定何时必须对新的 Bench 版本进行检查方面发挥作用。
注意:我们可能想取消针对不同版本的 Bench 的单独分支的约定。我们不需要像我们为 Harpiya 和 HarpiyaERP 所做的那样维护这一点。一个名为的分支
stable将维持。
执照
此存储库已根据GNU GPLv3 许可证发布。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
harpiya_bench -5.2.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 57c47fd154f8ee1ad8d6db8de8049ed9d64038bd682a68b93a4908ad30c0a535 |
|
| MD5 | 9e78163a3dcb1aebdb7be12c1dbcf11f |
|
| 布莱克2-256 | e070316f8a3f1fa14d1550506381e3807746f21d4d62386832a0a3010a153fd6 |
harpiya_bench -5.2.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0f605426e2832023efd95eda925de96646439f6c89c70c0286b544ef6adc2632 |
|
| MD5 | c62387c27270fd79f592d5ba732fa244 |
|
| 布莱克2-256 | 7b1e07404c924294c0d884f52b65009d51beca8f939c5547b0a7e2907b416047 |