factorial-io / phabalicious
部署辅助命令行工具
Requires
- php: ^7.3 || ^8.0
- ext-json: *
- ext-openssl: *
- ext-posix: *
- composer/semver: ^1.4||^3.2
- consolidation/self-update: ^2.0
- defuse/php-encryption: ^2.3
- graze/parallel-process: ^0.8.1
- jakeasmith/http_build_url: ^1.0
- lesstif/php-jira-rest-client: ^1.35
- psr/log: ^1.0
- stecman/symfony-console-completion: ^0.11.0
- symfony/config: ^2.8|^3|^4.1
- symfony/console: ^2.8|^3|^4.1
- symfony/dependency-injection: ^2.8|^3|^4.1
- symfony/dotenv: ^2.8|^3|^4.1
- symfony/event-dispatcher: ^2.8|^3|^4.1
- symfony/finder: ^4.1
- symfony/flex: ^1.1
- symfony/http-kernel: ^2.8|^3|^4.1
- symfony/process: ^2.8|^3|^4.1
- symfony/yaml: ^2.8|^3|^4.1
- thibaud-dauce/mattermost-php: ^1.2
- twig/string-extra: ^3.3
- twig/twig: ^3.0
- webmozart/assert: ^1.11
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1
- php-parallel-lint/php-parallel-lint: ^1.2
- phpro/grumphp-shim: ^1
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.0
- phpstan/phpstan-symfony: ^1.0
- phpunit/phpunit: ^9.3
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.5
- symfony/phpunit-bridge: ^2.8|^3|^4.1
- dev-main
- 3.8.31
- 3.8.30
- 3.8.29
- 3.8.28
- 3.8.27
- 3.8.26
- 3.8.25
- 3.8.24
- 3.8.23
- 3.8.22
- 3.8.21
- 3.8.20
- 3.8.19
- 3.8.18
- 3.8.17
- 3.8.16
- 3.8.15
- 3.8.14
- 3.8.13
- 3.8.12
- 3.8.11
- 3.8.10
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.5
- 3.8.4
- 3.8.3
- 3.8.2
- 3.8.1
- 3.8.0
- 3.8.0-beta.17
- 3.8.0-beta.16
- 3.8.0-beta.15
- 3.8.0-beta.14
- 3.8.0-beta.13
- 3.8.0-beta.10
- 3.8.0-beta.9
- 3.8.0-beta.8
- 3.8.0-beta.7
- 3.8.0-beta.6
- v3.8.0-beta.5
- 3.8.0-beta4
- 3.8.0-beta3
- 3.8.0-beta2
- 3.8.0-beta.1
- 3.7.18
- 3.7.17
- 3.7.16
- 3.7.15
- 3.7.14
- 3.7.13
- 3.7.12
- 3.7.11
- 3.7.10
- 3.7.9
- 3.7.8
- 3.7.7
- 3.7.6
- 3.7.5
- 3.7.4
- 3.7.3
- 3.7.2
- 3.7.1
- 3.7.0
- 3.7.0-beta.16
- 3.7.0-beta.15
- 3.7.0-beta.14
- 3.7.0-beta.13
- 3.7.0-beta.12
- 3.7.0-beta.11
- 3.7.0-beta.10
- 3.7-beta.9
- 3.7.0-beta.8
- 3.7.0-beta.7
- 3.7.0-beta.6
- 3.7.0-beta.5
- 3.7.0-beta.4
- 3.7.0-beta.3
- 3.7.0-beta.2
- 3.7.0-beta.1
- 3.6.16
- 3.6.15
- 3.6.14
- 3.6.13
- 3.6.12
- 3.6.11
- 3.6.10
- 3.6.9
- 3.6.8
- 3.6.7
- 3.6.6
- 3.6.5
- 3.6.4
- 3.6.3
- 3.6.2
- 3.6.1
- 3.6.0
- 3.6.0-beta.9
- 3.6.0-beta.8
- 3.6.0-beta.7
- 3.6.0-beta.6
- 3.6.0-beta.5
- 3.6.0-beta.4
- 3.6.0-beta.3
- 3.6.0-beta.2
- 3.6.0-beta.1
- 3.5.37
- 3.5.36
- 3.5.35
- 3.5.34
- 3.5.33
- 3.5.32
- 3.5.31
- 3.5.30
- 3.5.29
- 3.5.28
- 3.5.27
- 3.5.26
- 3.5.25
- 3.5.24
- 3.5.23
- 3.5.22
- 3.5.21
- 3.5.20
- 3.5.19
- 3.5.18
- 3.5.17
- 3.5.16
- 3.5.15
- 3.5.14
- 3.5.13
- 3.5.12
- 3.5.11
- 3.5.10
- 3.5.9
- 3.5.8
- 3.5.7
- 3.5.6
- 3.5.5
- 3.5.4
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.9
- 3.4.8
- 3.4.7
- 3.4.6
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.1
- 3.3.0
- 3.2.15
- 3.2.14
- 3.2.13
- 3.2.12
- 3.2.11
- 3.2.10
- 3.2.9
- 3.2.8
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.1.0-beta.1
- 3.0.22
- 3.0.21
- 3.0.20
- 3.0.19
- 3.0.18
- 3.0.17
- 3.0.16
- 3.0.15
- 3.0.14
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-beta.6
- 3.0.0-beta.5
- 3.0.0-beta.4
- 3.0.0-beta.3
- 3.0.0-beta.2
- 3.0.0-beta.1
- 3.0.0-alpha.8
- 3.0.0-alpha.7
- 3.0.0-alpha.6
- 3.0.0-alpha.5
- 3.0.0-alpha.4
- 3.0.0-alpha.3
- 3.0.0-alpha.2
- 3.0.0-alpha.1
- dev-renovate/major-symfony
- dev-custom-prop-names
- dev-renovate/phpro-grumphp-shim-2.x
- dev-renovate/phpunit-phpunit-11.x
- dev-release/4.0.0
- dev-fix/332
- dev-feature/add-support-for-1password-reference
- dev-renovate/stecman-symfony-console-completion-0.x
- dev-renovate/major-commitlint-monorepo
- dev-fdocs-update
- dev-dependabot/npm_and_yarn/ejs-3.1.10
- dev-renovate/husky-9.x
- dev-feature/docker-copy
- dev-renovate/actions-checkout-4.x
- dev-fix/optimize-mysql-dump
- dev-factorial-docs
- dev-3.8-beta
- dev-feature/refactor-git-and-related-config
- dev-feature/rsync-for-kubectl
This package is auto-updated.
Last update: 2024-09-21 06:43:44 UTC
README
Phabalicious 使用存储在项目根目录中特殊文件(fabfile.yaml)中的配置来在 shell 中运行任务。这个 shell 可以由 docker 容器、ssh 连接或本地 shell 提供。这意味着,你可以在 fabfile 中存储所有你的 devops 脚本,并将其应用于一系列配置。Phabalicious 尝试抽象化主机的内部工作原理,并为用户提供一些有用的命令来运行常见任务,例如:
- 将新代码部署到远程安装
- 将远程安装重置为其默认值。
- 备份数据/恢复数据
- 将数据从一个安装复制到另一个安装
- 搭建新项目
- 在不同本地或远程安装和运行上下文中运行脚本
- 透明处理 SSH 隧道
- 触发网关
- 通过 mattermost 发送通知
- 与 kubernetes 集群交互和部署
它很好地与现有的解决方案集成,如持续集成、基于 docker 的设置或不同的托管环境,如 lagoon、platform.sh 或复杂的自定义 IT 基础设施。
文档
您可以在 docs.phab.io 找到文档。
安装
Phabalicious 需要 PHP 7.3 及以上版本,并包含 json- 和 openssl- 扩展。大多数方法依赖于已安装的 cli 命令,如果找不到它们,您将收到错误消息。
通过 homebrew 安装(mac os x)
brew tap factorial-io/homebrew-phabalicious
brew install phab
- 如果您之前已安装 phab,您可能需要从
/usr/local/bin
中删除 phab
使用已发布的 phar 安装
- 从 Github 下载最新版本
- 将 phar 复制到合适的文件夹,例如
cp phabalicious.phar /usr/local/bin/phab
- 使其可执行,例如
chmod u+x /usr/local/bin/phab
有关安装的更多信息,请参阅 安装指南
增强 phab,为 phab 贡献
我们欢迎贡献!请分支仓库,创建一个功能分支并提交一个 pull-request。
请为您的错误修复或新功能添加测试用例。我们在提交新代码时使用 GrumPHP 检查代码风格(PSR2)、运行测试等。此仓库使用 github-flow 作为分支策略。
提交消息
项目还遵循常规提交最佳实践(自 3.8 版起),您可以运行
yarn install
yarn cz # if you have installed commitizen globally you can use also git cz
以获取提交消息的辅助器。我们使用 method
名称作为 type
在提交消息中分组它们,例如 feat(k8s): 支持helm
创建一个发布版本
此存储库使用 github-flow 来管理版本。发布由 github-action 自动创建。Phab 使用 standard-version来自动准备发布。它将负责增加版本号和更新变更日志。
要准备一个新发布版本,请运行以下命令
yarn install && yarn release
要准备一个预发布版本(例如 beta 版本)
yarn install && yarn standard-version -- -t '' --sign --prerelease
重新构建文档
文档使用 vuepress 构建,因此您需要先运行 yarn install
。
在本地审查
运行 yarn docs:dev
,这将允许您使用浏览器浏览文档,并具有热重载和所有其他花哨的功能
构建和发布文档
运行 yarn docs:build
。这将构建文档并将其推送到gh-pages
分支。随后,GitHub将发布这些更改至https://factorial-io.github.io/phabalicious/