mittwald / deployer-recipes
一组Deployer配方,可轻松将您的应用程序部署到mittwald平台
Requires
- php: ^8.2
- composer/semver: ^3.4
- league/flysystem: ^3.0
- mittwald/api-client: ^2.0
Requires (Dev)
- deployer/deployer: ^7.3
- league/flysystem-memory: ^3.0
- phpunit/phpunit: ^10.5
- vimeo/psalm: ^5.15
- dev-master
- v1.0.0-beta10
- v1.0.0-beta9
- v1.0.0-beta8
- v1.0.0-beta7
- v1.0.0-beta6
- v1.0.0-beta5
- v1.0.0-beta4
- v1.0.0-beta3
- v1.0.0-beta2
- v1.0.0-beta1
- v1.0.0-alpha2
- v1.0.0-alpha1
- dev-dependabot/composer/mittwald/api-client-2.1.64
- dev-dependabot/composer/composer/semver-3.4.3
- dev-bugfix/fix-functional-tests
- dev-bugfix/functionaltest-master
- dev-bugfix-sshuser-wait
- dev-feature-opcache-flush
- dev-refact/test-refactor-apprecipe
- dev-task/increase-logging
- dev-feature/ssh-private-key
This package is auto-updated.
Last update: 2024-09-20 18:46:50 UTC
README
⚒️ 安装说明 | 🙆 使用 | ⚙️ 配置选项 | 📖 文档
重要
该库目前处于beta状态。我们欢迎任何反馈和贡献。
该存储库包含一套mittwald特定的辅助函数和配方,用于Deployer。
安装
通过Composer
要使用此配方集合,您需要通过Composer进行安装
composer require --dev mittwald/deployer-recipes
使用Docker
还有一个预构建的docker镜像,提供deployer和mittwald deployer配方。您可以这样使用它
docker run --rm -it -v $(pwd):/app -w /app mittwald/deployer:latest deploy
使用
注意
在本文档底部找到常见CI/CD工具(如Github Actions和Gitlab CI)的配置示例。
此配方需要一个mittwald API令牌才能工作。它可以通过MITTWALD_API_TOKEN
环境变量提供,或者通过在您的Deployer配置中设置mittwald_token
值。
$ export MITTWALD_API_TOKEN=...
为了使用此库提供的配方,您需要将它们包含在您的deploy.php
文件中
require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/vendor/mittwald/deployer-recipes/recipes/deploy.php';
为了启用主机的自动部署,将mittwald_app_id
变量设置为要部署的mittwald应用程序的ID(该ID可以是应用程序的完整UUID,也可以是在UI或CLI中显示的简短ID)。在这种情况下,主机名变得无关紧要,因为配方将自动确定SSH连接的正确主机名
host('mittwald') ->set('public_path', '/') ->set('mittwald_app_id', '<uuid|short-id>') ->set('mittwald_app_dependencies', [ 'php' => '{{php_version}}', 'gm' => '*', 'composer' => '*', ]);
或者,您也可以使用mittwald_app
简写函数达到相同的效果
mittwald_app('<uuid|short-id>') ->set('public_path', '/') ->set('mittwald_app_dependencies', [ 'php' => '{{php_version}}', 'gm' => '*', 'composer' => '*', ]);
它做什么?
此配方自动在mittwald云平台上设置PHP应用程序。您只需向配方提供要部署的mittwald应用程序的ID,配方就会自动处理其他任务,例如自动确定正确的部署路径、数据库凭证等。
更具体地说,配方将
- 查找给定应用程序ID的部署目录并将其设置为deployer的
deploy_path
。 - 为配置在
domain
中的域名正确配置虚拟主机 - 查找必要的SSH连接数据,创建和管理用于部署的SSH用户,并相应地配置deployer主机。
- 确保应用程序的系统环境与配置在
mittwald_app_dependencies
中的环境相匹配
配置选项
-
mittwald_app_id
:您想要部署的mittwald应用程序的ID。这是唯一必需的选项,并且应按主机设置。 -
mittwald_app_dependencies
:应安装在mittwald应用程序上的系统依赖项映射。该配方将确保应用程序的系统环境与这里配置的环境相匹配。预期的格式是映射,使用系统包名称作为键,使用与semver兼容的版本约束作为值。
默认为
["php" => "{{php_version}}", "composer" => "*"]
。 -
可以使用
mittwald_domains
覆盖应配置的域名。默认为["{{domain}}"]
。 -
mittwald_domain_path_prefix
可以用来配置域名路径的前缀。默认为"/"
。 -
mittwald_ssh_public_key
和mittwald_ssh_private_key
可能包含一个用于部署的 SSH 公钥/私钥对。如果没有设置,将使用ssh_copy_id
变量。
文档 & 如何操作
有关如何使用此菜谱的更多信息,请参阅文档。