ashleydawson/deskpro-hab

该软件包最新版本(1.0.10)没有可用的许可信息。

1.0.10 2020-04-16 11:18 UTC

This package is auto-updated.

Last update: 2024-09-05 02:29:20 UTC


README

Build Status

Hab(栖息地)是一个虚拟开发环境启动器,用于设置和配置一个 guest Vagrant 实例。Vagrant 实例包括运行 Deskpro 和针对其进行开发的全部开发依赖项。Hab 为 Linux 和 MacOS 主机机器而设计。

Deskpro Hab VM SSH Screenshot

安装

在安装 Hab 之前,请先安装 VagrantVirtualBox

Hab 以 .phar 格式打包,并用于从 Deskpro 项目内部启动虚拟开发基础设施。

下载最新版本的 hab.phar (下载链接) 并将其放置在您的 Deskpro 项目目录根目录下。

"快速" 开始指南(Linux & MacOS)

  1. 在您的计算机上安装 VagrantVirtualBox
  2. 克隆 Deskpro 仓库
  3. 转到 Deskpro 项目根目录,并 下载 Hab 到此位置
  4. 通过运行 git submodule init && git submodule update 初始化并更新 Git 子模块
  5. 运行 php ./hab.phar init 以初始化 Vagrant 和配置脚本
  6. 运行 vagrant up
  7. 运行 vagrant ssh 以访问虚拟机
  8. 在虚拟机上全局下载并安装 Composer
  9. 运行 cd /var/www/deskpro/app/BUILD
  10. 运行 composer install -o
  11. 运行 cd /var/www/deskpro/www/assets/BUILD/web
  12. 运行 npm install (这可能需要一段时间)
  13. 运行 bower install --config.interactive=false --allow-root
  14. 运行 npm run gulp
  15. 运行 cd /var/www/deskpro/www/assets/BUILD/pub
  16. 运行 npm install (这可能需要一段时间)
  17. 运行 ASSET_SERVER_HOSTNAME=deskpro.local npm run dev 以启动资产服务器
  18. 在主机机器上的另一个终端(您的计算机)
  19. 运行 vagrant ssh 以作为另一个会话访问虚拟机
  20. 当提示时,运行 bin/install --install-source dev 安装 Deskpro
    • 输入项目 URL "http://deskpro.local/"
    • 输入 "127.0.0.1" 作为数据库主机名,并输入 "root" 作为数据库用户名和密码。数据库名为 "deskpro"
  21. 检查 config/config.paths.php 中的 asset_paths 是否指向 deskpro.local:9666
  22. 将以下行添加到 config/advanced/config.settings.php 的底部
$SETTINGS['DESKPRO_APP_ASSETS_URL'] = 'http://deskpro.local/assets/BUILD/pub/build/';
  1. 您现在应该可以通过 http://deskpro.local/ 访问 Deskpro

使用方法

要初始化 Vagrantfile、设置和配置脚本,请运行 init 命令

$ php hab.phar init

这将安装必要的文件,以便使用标准的 Vagrant 命令启动虚拟机

$ vagrant up && vagrant ssh

您可以将多个选项传递给调整虚拟机实例设置的命令,这些设置随后存储在 hab.json 文件中。

php hab.phar init \
    --project-dir /path/to/project/dir \
    --hostname deskpro.local \
    --ip 192.168.2.34 \
    --memory 2048 \
    --cpus 4 \
    --force

选项如下

  • project-dir - Deskpro 项目目录的位置,默认为 当前目录
  • hostname - 虚拟机的主机名,默认为 deskpro.local
  • ip - 客户机虚拟机的私有 IP 地址,默认为 10.40.1.23
  • 内存 - 为 VM 分配多少内存(以兆字节为单位),默认值为 4096
  • cpus - VM 的 CPU 数量,默认值为 2
  • force - 强制覆盖 hab 引导文件,默认值为 false

初始化 Hab 后,您应该从版本控制中排除以下文件(通常通过添加到 .gitignore 文件中完成)

/.vagrant
/.hab
/hab.phar
/hab.json
/Vagrantfile

启动 VM 后,您可以 SSH 连接到它,并运行如 Deskpro 设置说明 中所述的常规安装和设置脚本。

注意:运行 dev 资产服务器时,执行以下操作以覆盖默认主机名

$ ASSET_SERVER_HOSTNAME=deskpro.local npm run dev

资产服务器环境变量如下

  • ASSET_SERVER_HOSTNAME - 覆盖资产服务器主机名(默认为 localhost
  • ASSET_SERVER_PORT - 覆盖资产服务器端口(默认为 9666

注意:要运行 Deskpro 测试套件,您需要将应用程序配置为使用 --login-path 选项,例如 mysqldump 等,以抑制“命令提示符中的密码不安全”警告。这是通过将 --login-path=local 选项添加到测试配置数据库参数中完成的(在复制 .dist 配置后)

# app/BUILD/tests/config/config.all.php

// ...

$CONFIG['database'] = [
    'host'     => '127.0.0.1',
    'user'     => 'root',
    'password' => 'root',
    'dbname'   => $dbName.$dbPostfix,
    'login-path' => 'local', // Append this parameter
];

// ...

默认服务连接性

  • MySQL DSN: mysql://root:root@deskpro.local:3306/deskpro
  • Elasticsearch URL: http://deskpro.local:9200/ (需要启动服务)

更新

可以使用以下命令使用 hab.phar 软件包进行自更新

$ php hab.phar self-update

更新后,通常需要强制初始化修改后的引导文件

$ php hab.phar init --force

测试

您可以使用以下命令运行 Hab 功能测试套件

$ composer install
$ vendor/bin/phpunit -c .