consolidation / site-process
这是一个围绕 Symfony Process 组件的薄包装器,允许应用程序使用 Site Alias 库来指定远程调用的目标。
Requires
- php: >=8.0.14
- consolidation/config: ^2 || ^3
- consolidation/site-alias: ^3 || ^4
- symfony/console: ^5.4 || ^6 || ^7
- symfony/process: ^6 || ^7
Requires (Dev)
- dev-main / 5.x-dev
- 5.4.0
- 5.3.0
- 5.2.0
- 5.1.1
- 5.1.0
- 5.0.0
- 4.x-dev
- 4.2.1
- 4.2.0
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.0
- 4.0.0-alpha1
- 2.x-dev
- 2.1.0
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-beta6
- 2.0.0-beta5
- 2.0.0-beta4
- 2.0.0-beta3
- 2.0.0-beta2
- 2.0.0-beta1
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- 0.3.1
- 0.3.0
- 0.2.0
- 0.1.19
- 0.1.18
- 0.1.17
- 0.1.16
- 0.1.15
- 0.1.14
- 0.1.13
- 0.1.12
- 0.1.11
- 0.1.10
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- dev-larowlan-symfony7
- dev-site-alias-4-for-4.x
- dev-bump-site-alias
- dev-symfony-6
- dev-fix-bindto
- dev-terse-exception
- dev-php-8.1
- dev-enable-bc-check
- dev-php-8
- dev-terse
- dev-symfony5
- dev-symfony-4
- dev-better-json-error-reporting
- dev-add-transports
- dev-code-cleanup
- dev-site-alias-with-config
- dev-fix-json-cleanup
- dev-appveyor
- dev-config-aware
- dev-lessWin
- dev-unOS
- dev-inject-config
- dev-true
- dev-process-from-transport
- dev-transport-manager
- dev-deps/update-a40b2665
- dev-test-scenarios-3
- dev-deps/update-39079f79
- dev-site-alias-lowest
- dev-sdterr-marker-on-every-line
- dev-php5
- dev-command-specific
- dev-ProcessBase
This package is auto-updated.
Last update: 2024-08-23 15:53:22 UTC
README
这是一个围绕 Symfony Process 组件的薄包装器,允许应用程序使用 Site Alias 库来指定远程调用的目标。
概述
Site Process 是围绕 Symfony Process 组件 的薄包装器,允许应用程序使用 Site Alias 库 来指定远程调用的目标。
为了比较,可以通过以下方式创建一个 Process 对象来在本地系统上运行应用程序,使用标准的 Symfony Process 组件 API:
$process = new Process(['ls', '-lsa']);
同样,可以使用通用的 SiteProcess API 来执行远程调用,该 API 通过 ProcessManager 对象访问。
$processManager = ProcessManager::createDefault();
$process = $processManager->siteProcess($site_alias, ['ls', '-lsa', '{root}']);
在此示例中,如果 $site_alias 代表同一系统上的站点,则 ls -lsa 命令将在本地运行。另一方面,如果它代表远程站点,则 ls -lsa 命令将包含一个 ssh 调用到远程系统。在两种情况下,{root} 引用都将被替换为 site alias 命名属性 root 的值。如果命名属性不存在,将抛出异常。
也可以将选项指定为作为第三个参数提供的关联数组。
$process = $processManager->siteProcess($site_alias, ['git', 'status'], ['untracked-files' => 'no']);
这相当于
$process = $processManager->siteProcess($site_alias, ['git', '--untracked-files=no', 'status']);
传输
SSH
包装命令,使其通过 ssh cli 在远程系统上运行。
示例
local: host: localhost uri: http://localhost ssh: options: -o PasswordAuthentication=no -i $HOME/.ssh/id_rsa
Vagrant
包装命令,以便通过 vagrant ssh -c 运行。
示例
local: uri: http://localhost vagrant:
Docker Compose
包装命令,使其通过 docker-compose 在远程系统上运行。
示例
local: host: localhost uri: http://localhost docker: service: drupal compose: version: 1 options: --project dockerComposeProjectName --file docker-compose.yml --project-directory dockerComposeWorkDir exec: options: --user www-data
上面的命令将执行以下命令前缀:
docker-compose --project dockerComposeProjectName --file docker-compose.yml --project-directory dockerComposeWorkDir exec --user www-data -T drupal
docker.project
和 compose.options --project
做同样的事情,docker.project 在 options 之前存在。
docker.service
是 docker-compose.yml 中服务名称的确切名称。
docker.compose.version
默认为 1
。设置为 2
以使用新语法。
docker compose --project dockerComposeProjectName --file docker-compose.yml --project-directory dockerComposeWorkDir exec --user www-data -T drupal
默认行为是使用 docker-compose exec
来调用正在运行的容器中的命令。您可以通过属性 compose.command
将此更改为使用 docker-compose run
,对于默认不运行的容器。
有关所有可用选项,请参阅 docker-compose 手册。
本地
在本地系统上运行命令。
运行测试
可以通过一些简单的 composer 脚本在本地运行测试套件。
部署
- 运行
composer release
贡献
请阅读 CONTRIBUTING.md 以了解向提交拉取请求给我们过程的详细信息。
版本控制
我们使用 SemVer 进行版本控制。有关可用的版本,请参阅 发布 页面。
请注意,仅跳过了 consolidation/site-process 的所有 3.x 版本,以使 4.x 版本与 Symfony 4.x 支持保持一致。
请注意,consolidation/site-process 自身的 API 在 2.x 和 4.x 版本之间是兼容的,因此大多数同时与 Symfony 3 和 Symfony 4 一起工作的客户端应该能够无问题地要求 "consolidation/site-process": "^2 | ^4"
。
作者
另请参阅参与此项目的贡献者列表。
许可证
此项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。
致谢
- 感谢PurpleBooth提供的示例README模板。