eureka/component-deployer
Composer 安装命令:
composer create-project eureka/component-deployer
包简介
PHP Installer & Deployer for projects based on Eureka Framework
README 文档
README
PHP Installer & Deployer for projects based on Eureka Framework
Composer
composer require "eureka/component-deployer"
Usage
Symfony config for dependency injections in scripts
parameters: eureka.deployer.dir.src: '/path/to/src' # where the sources will be installed eureka.deployer.dir.www: '/path/to/www' # where the symlink on source will be put (link to use in apache/nginx conf) eureka.deployer.dir.conf: '/path/to/conf' # where the config with prod secrets are stored eureka.deployer.config: # Default values app.name: '%app.name%' app.tag: '%app.version%' app.domain: 'www.%app.name%.com' install: #~ Installation steps step.start: 0 step.end: 100 step.list: #~ 0: Start Install (defined in main installation script) #~ 1 to 9: reserved for deployed itself #~ 1: Install composer #~ 2: Copy secrets files #~ Setup some directories 10: 'Install/Init/Directories' 11: 'Install/Init/Symlink' #~ Yarn / npm 40: 'Install/Yarn/Install' 41: 'Install/Yarn/EncoreBuild' #~ Cleaning installation files 70: 'Install/Clean/Files' #~ Composer cleaning & install no-dev #80: 'Install/Clean/Cache' #~ 90 to 99: reserved for deployed itself #~ 98: Clean cache #~ 99: Init directory again for production #~ 100: Ending installation (defined in main installation script) init: directories: 'var/log': 777 'var/cache': 777 symlinks: '/path/to/upload/': 'web/upload' copy: #~ list of files to copy, with the format "from: to" files: '/path/to/conf/{platform}/{domain}/app.yaml': 'config/secrets/app.yaml' '/path/to/conf/{platform}/{domain}/database.yaml': 'config/secrets/database.yaml' clean: files: - '.gitignore' - 'composer.lock' - 'package.json' - 'README.md' - 'webpack.config.js' - 'yarn.lock' - 'yarn-error.log' directories: - 'assets/' - 'node_modules/' - 'sql/' services: _defaults: autowire: true Eureka\Component\Deployer\: resource: '../../vendor/eureka/component-deployer/src/*' exclude: '../../vendor/eureka/component-deployer/src/{Script}' Eureka\Component\Deployer\Script\: resource: '../../vendor/eureka/component-deployer/src/Script/*' public: true calls: - setPathBuilder: [ '@Eureka\Component\Deployer\Common\PathBuilder'] - setRootDir: [ '%kernel.directory.root%' ] - setConfig: [ '%eureka.deployer.config%' ] Eureka\Component\Deployer\Common\PathBuilder: arguments: $pathSource: '%eureka.deployer.dir.src%' $pathLink: '%eureka.deployer.dir.www%'
Console command (in you application)
~/my-app/$ bin/console deploy --help Use : php Eureka\Component\Deployer\Script\Deploy [OPTION]... OPTIONS: -h, --help Reserved - Display Help -p ARG, --platform=ARG Platform where installation is executed (default: "prod") -t ARG, --tag=ARG Tag version to install (default from config or 1.0.0 if not defined in config) -d ARG, --domain=ARG Application domain (ie: www.my-app.com) (default from config) -n ARG, --name=ARG Application name, used to retrieve config (default from config)
Contributing
See the CONTRIBUTING file.
Install / update project
You can install project with the following command:
make install
And update with the following command:
make update
NB: For the components, the composer.lock file is not committed.
Testing & CI (Continuous Integration)
Tests
You can run unit tests (with coverage) on your side with following command:
make php/tests
You can run integration tests (without coverage) on your side with following command:
make php/integration
For prettier output (but without coverage), you can use the following command:
make php/testdox # run tests without coverage reports but with prettified output
Code Style
You also can run code style check with following commands:
make php/check
You also can run code style fixes with following commands:
make php/fix
Check for missing explicit dependencies
You can check if any explicit dependency is missing with the following command:
make php/deps
Static Analysis
To perform a static analyze of your code (with phpstan, lvl 9 at default), you can use the following command:
make php/analyse
To ensure you code still compatible with current supported version at Deezer and futures versions of php, you need to run the following commands (both are required for full support):
Minimal supported version:
make php/min-compatibility
Maximal supported version:
make php/max-compatibility
CI Simulation
And the last "helper" commands, you can run before commit and push, is:
make ci
License
This project is currently under The MIT License (MIT). See LICENCE file for more information.
eureka/component-deployer 适用场景与选型建议
eureka/component-deployer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 420 次下载、GitHub Stars 达 1, 最近一次更新时间为 2019 年 10 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 eureka/component-deployer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 eureka/component-deployer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 420
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-10-14