unleashedtech / deployer-recipes
Unleashed Technologies使用的Deployer 7+功能
Requires
- php: ^7.3 || ^8.0
- deployer/deployer: ^7
Requires (Dev)
- deployer/deployer: ^7
- roave/security-advisories: dev-latest
- unleashedtech/php-coding-standard: ^3.1
- dev-main / 0.5.x-dev
- 0.5.0
- 0.4.0
- 0.3.23
- 0.3.22
- 0.3.21
- 0.3.20
- 0.3.19
- 0.3.18
- 0.3.17
- 0.3.16
- 0.3.15
- 0.3.14
- 0.3.13
- 0.3.12
- 0.3.11
- 0.3.10
- 0.3.9
- 0.3.8
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- v0.1.2
- v0.1.0
- dev-magento2-auth-json-shared
- dev-less-maint
- dev-dependabot/github_actions/actions/checkout-3
- dev-feature/db-copy
- dev-acquia
- dev-magento2-syntax-fix
- dev-feature/symfony
- dev-feature/virtual-machine-classes
- dev-import-fix
- dev-dev-master-test
- dev-backup-dir-fix
This package is auto-updated.
Last update: 2024-08-25 22:22:18 UTC
README
本包使用Deployer 7,支持由YAML或PHP定义的配方。
Deployer将按顺序导入配方。占位符将尽可能晚地替换为实际值。Deployer在运行时将查找deploy.php
或deploy.yaml
。
安装
所有配方路径都已调整为使用vendor目录中的文件,因此应该使用composer安装
composer require unleashedtech/deployer-recipes
使用
配方已组织以轻松支持任何软件的任何版本。它们对git仓库设置、部署位置和主机设置做出了一些假设。这些默认值仅在您尚未定义它们的情况下应用。请选择以下平台以获取更多信息。
请注意,任务假设相关阶段已经配置了数据库。如果您需要跳过所有数据库操作,可以将skip_db_ops
设置为true
通过命令行。
运行 vendor/bin/deployer.phar tree deploy
以查看deploy
配方树。
运行 vendor/bin/deployer.phar deploy
进行部署。
运行 vendor/bin/deployer.phar
查看可用的配方。
前后钩子
Deployer支持在定义的任务之前或之后运行任务。定义在定义的任务之前和之后触发自定义任务非常简单。此功能可以添加到以下deploy.yaml
的末尾,如下所示
tasks: foo: script: - "echo 'foo'" bar: script: - "echo 'bar'" after: deploy:symlink: foo before: deploy:unlock: bar
SSH主机
此包将根据全局配置值动态定义主机。它遍历environments
变量中的CSV列表中的环境,为每个环境定义0个或更多主机。默认情况下,定义了production
、staging
和dev
环境。对于每个环境,该包根据匹配的{environment}_webservers
变量的整数值定义一系列主机(例如,根据production_webservers
变量的值定义两个主机)。这些主机将根据其环境名称(或Deployer术语中的阶段
)链接在一起。当您想部署到生产环境时,您可能需要运行类似于dep deploy stage=production
的命令。默认情况下,该包假定有2个生产Web服务器。
config: #### production_domain: "production1.example" production_webservers: 3
配置SSH
Deployer定义的主机仅是别名。在执行过程中,Deployer将假设通过SSH内部定义的主机可用。您可以将主机添加到您的~/.ssh/config
文件中,或者您可以添加Include指令,这些指令将加载其他文件提供的主要SSH配置。此类定义可以在自动化部署之前立即发生。
每个项目都可以提供自己的SSH配置。考虑在项目根目录中创建一个.ssh
文件夹,并在其中创建一个config
文件。
您可以手动包含特定项目的配置
Include ~/projects/foo/.ssh/config
您还可以使用模式自动包含多个文件夹中的项目配置
Include ~/projects/*/.ssh/config