Skip to main content

用于管理 Harpiyaapps 的多租户部署的 CLI

项目描述

<图片> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/harpiyacloud/design/raw/master/logos/png/bench-logo-dark.png"> </图片>

长椅

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部分自动化了发布过程。在这个新管道下,我们执行以下步骤来发布:

  1. 并入分支develop_staging
  2. 合并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 (94.9 kB 查看哈希)

已上传 source

内置分布

harpiya_bench-5.2.0-py3-none-any.whl (145.2 kB 查看哈希

已上传 py3