openxtrem / ox-bundle-installer
PHP应用程序,用于安装OX Mediboard应用程序
v1.2.2
2024-03-08 09:20 UTC
Requires
- php: ^7.4 || 8.1.*
- ext-json: *
- composer/semver: ^3.3
- knplabs/packagist-api: ^1.7
- league/flysystem: ^2.1
- nesbot/carbon: ^2.51
- symfony/config: ^5.4
- symfony/console: ^5.4
- symfony/dependency-injection: ^5.4
- symfony/filesystem: ^5.4
- symfony/http-client: ^5.4
- symfony/lock: ^5.4
- symfony/process: ^5.4
- symfony/stopwatch: ^5.4
- symfony/validator: ^5.4
- symfony/yaml: ^5.4
Requires (Dev)
- mockery/mockery: ^1.4
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5
- symfony/error-handler: ^5.4
- symfony/var-dumper: v5.4
- dev-master
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.2
- v1.0.1
- v1.0.0
- v0.12.1
- v0.12.0
- v0.11.3
- v0.11.2
- v0.11.1
- v0.11.0
- v0.10.9
- v0.10.8
- v0.10.7
- v0.10.6
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.12
- v0.9.11
- v0.9.10
- v0.9.9
- v0.9.8
- v0.9.7
- v0.9.6
- v0.9.5
- v0.9.4
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.10
- v0.8.9
- v0.8.8
- v0.8.7
- v0.8.6
- v0.8.5
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.8
- v0.6.7
- v0.6.6
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.2
- v0.4.1
- v0.4
- v0.3
- v0.2
- v0.1
- dev-test/integration-nvm-usage
- dev-feature/php8.1-upgrade
- dev-test/fix-ci-unit
- dev-feature/OXCI-2605
- dev-feature/php7.4-upgrade
- dev-feature/OXCI-2575
This package is auto-updated.
Last update: 2024-09-08 09:41:25 UTC
README
描述
一个用PHP编写的命令行应用程序,用于管理OX Mediboard软件安装。
安装
composer create-project openxtrem/ox-bundle-installer
用法
bin/console [command] [arguments]
可用命令
命令 | 描述 |
---|---|
auto-update | 以非交互模式运行自动更新过程 |
browse | 浏览并显示可用的包 |
build | 构建包依赖项和资源 |
config | 加载并验证配置文件 |
deploy | 将包从主目录部署到目标服务器目录 |
help | 显示命令的帮助信息 |
install | 运行同步、构建和最终部署命令 |
list | 列出命令 |
sync | 将包内容同步到本地主目录 |
二进制要求
二进制 | 版本 |
---|---|
php | 7.3 |
composer | 2.0 |
rsync | 3.1.3 |
rclone | 1.56.0 |
应用程序 config 命令允许检查这些要求。
配置
在 config
目录下创建一个名为 parameters.yml
的配置文件。
使用 config/parameters.yml-dist
文件作为模板。
远程身份验证
OX-ERP
要获取要安装的包的信息和状态,需要在OX-ERP上进行身份验证。
auth:
erp:
url: https://sample-erp.openxtrem.com
api_token: IdkIfThisIsGood
OX-Deploy
OX-Deploy是托管包的服务器的别名。
要下载本地包内容,需要在OX-Deploy上进行身份验证。
oxdeploy:
url: sample.openxtrem.com
protocol: https
http_user: user
http_token: ToKeN
prefix: /var/www/deployment
transport_method: rclone
有两种传输方法可用:rclone
和 rsync
。
当使用
rclone
传输方法时,需要protocol
、http_user
和http_token
参数。
rsync
方法要求本地服务器可以通过SSH协议访问OX-Deploy服务器。
包
包通过其唯一的ID来标识。
bundle:
uuid: abcd1234-ef56-gh78-ij90-klmno12345
虽然此参数不是手动安装包所必需的,但它必须设置,以便可以执行自动更新。
目标
master:
path: /var/master
name: prod
server_id: 1
instance:
name: INSTANCE_NAME
token_hash: 27dab2832d4568dfa8b60ab389398b893405f543
servers:
-
path: "/var/path_to/instance/a"
shortname: "Instance A"
id: 44
server_id: 1
web_path: "path_to/instance/a"
no_webserver: yes
-
path: "user@host:/var/path_to/instance/b"
shortname: "Instance B"
id: 44
server_id: 2
web_path: "path_to/instance/b"
主
master:path
是将OX-Deploy服务器上的包内容复制到的本地路径。
如果该目录尚未存在,并且权限允许这样做,则将创建此目录。
实例
实例 token_hash
是用于从webservers检索实例状态(有效、过时、损坏)的认证令牌。
服务器
至少必须配置一个服务器。此外,每个配置的路径 必须 存在或手动创建(对于本地和远程目标)。
开发和测试
使用以下命令设置开发用的docker容器
docker-compose up -d
docker exec -it ox-bundle-installer-app-1 bash
项目源代码在容器内挂载到
/var/www/html
目录下的卷。
容器内
# Install dependencies
composer install
运行测试
# Run tests
XDEBUG_MODE=coverage vendor/bin/phpunit