mixd/packerwp

使用Deployer在目标环境中部署传统的WordPress安装

v1.2.7.1 2022-10-25 16:17 UTC

README

Mixd构建

Mixd logo

PackerWP是一个定制的Deployer运行手册。它被设计为替代传统的Ruby部署工具WP Deploy,并针对包含WP Deploy之前提供的所有Capistrano任务进行了调整。

可用任务

此工具围绕Mixd的NHS框架设计,但应该足够灵活,可以集成到任何其他基于WordPress的项目中。

开始新项目

要开始,您需要使用composer将PackerWP安装到您的项目中

$ composer require mixd/packerwp

现在PackerWP已安装,请确保您已将Deployer二进制文件安装到本地系统,以便更容易运行命令。

$ curl -LO https://deployer.org/deployer.phar
$ mv deployer.phar /usr/local/bin/dep
$ chmod +x /usr/local/bin/dep

设置

PackerWP使用位于项目根目录的deploy.json文件来定义所有环境配置。

运行cp ./vendor/mixd/packerwp/config/deploy.example.json ./deploy.json,将接受的配置规则副本添加到项目根目录。

然后开始填充它。

现在,在项目根目录中添加一个符号链接以链接到自定义Deployer任务。ln -s vendor/mixd/packerwp/deploy.php

现在,您应该能够运行dep并看到所有可用任务的列表。

任务

初始WordPress安装

一旦您设置了环境,您可以通过运行以下命令安装WordPress:

$ dep setup-local-wp

此任务将为您生成一个wp-config.php并将其放置在项目根目录,然后运行WordPress安装,重置WordPress Salts,并向您展示新的管理员密码和WordPress管理员的链接。

如果您需要重新生成管理员密码,您可以在任何时候通过运行以下命令重置它:

$ dep reset-admin-pwd [阶段]

如果您省略了[阶段],您将重置本地环境的密码,否则您可以相应地提供stagingproduction

注意:此任务还将重置WordPress Salts。

处理数据库

有时您可能希望将MySQL数据库推送到或从特定环境拉取。

请确保您在deploy.json中填充了目标环境的wp_home_urldb_$条目。

要下载远程主机的数据库副本并将其导入本地环境,您可以运行:

$ dep pull-remote-db [stage]

要上传本地数据库并将其导入远程主机,您可以运行:

$ dep push-local-db [stage]

这两个pullpush任务都将处理搜索和替换必要的URL,以便从local转换为[阶段]或从[阶段]转换为local

如果您只想进行备份而无需导入或替换,您可以运行:

$ dep backup-remote-db

$ dep backup-local-db

这些任务将使用wp db export创建MySQL备份并将其gzip到项目根目录中的db_backups文件夹。

处理上传的媒体

要从远程主机下载WordPress上传文件夹,请运行:

$ dep pull-remote-uploads [stage]

要将本地WordPress上传文件夹上传到远程主机,请运行:

$ dep push-local-uploads [stage]

部署

如果您准备将工作部署到远程主机,只需运行:

$ dep deploy [stage]

默认情况下,PackerWP被配置为使用PHP的date函数,以下格式Ymd命名每个发布版本。

模板

PackerWP还支持wp-config.php的额外配置。如果您想在dep setup-wp任务期间添加的WP配置额外配置进行覆盖,请执行以下操作

创建模板文件夹:mkdir ./templates/

复制捆绑的WP额外文件:cp vendor/mixd/packerwp/config/templates/extras.php ./templates/extras.php

现在您可以编辑额外文件。请确保将此文件提交并推送到Github,以便其他开发者可以持续使用。

贡献

如果您想请求更改或额外的任务,我们鼓励您在Github仓库上创建一个Pull Request。