itsahappymedium/wp-deployer

轻松部署WordPress网站。

0.4.1 2024-05-01 15:21 UTC

This package is auto-updated.

Last update: 2024-09-08 18:41:16 UTC


README

packagist package version packagist package downloads license

轻松部署WordPress网站。

此包基本上是WordPress网站的Deployer "食谱"。

安装

composer require-dev itsahappymedium/wp-deployer

然后你需要在项目的根目录下创建一个包含以下内容的 deploy.php 文件

<?php
require_once('./vendor/autoload.php');
new WP_Deployer();
?>

你可以选择性地将文件路径作为参数传递给 WP_Deployer 类,以便使用除 config.yml 之外的其他文件。

之后,你应该可以使用 dep 命令。运行它以确认安装成功并查看您可以使用的命令列表。

注意:Deployer 和 WP-CLI 将作为依赖项安装。Deployer 可以通过 vendor/bin/dep 使用,WP-CLI 可以通过 vendor/bin/wp 使用。

最后一点,请确保以下内容包含在您的 .gitignore 文件中,以避免将它们提交到您的仓库

/config.yml
/db_backups
/tmp

配置

在项目的根目录下创建一个 config.yml 文件。将 config-example.yml 作为起点。

注意:您需要确保将您的 config.yml 文件添加到您的 .gitignore 文件中,以免将其提交到您的仓库,因为该文件将包含敏感凭证。

变量

这些变量可以在您的 config.yml 文件中设置,也可以通过 deploy.php 文件中的 set 函数设置。

WP-Deployer 变量

这些变量是 WP-Deployer 自定义的。

* 粗体变量名是必需设置的。

extra_files 默认值
auth.json
{{wp_content_dir}}/themes/{{theme_name}}/*.css
{{wp_content_dir}}/themes/{{theme_name}}/*.map
{{wp_content_dir}}/themes/{{theme_name}}/js/*.js
{{wp_content_dir}}/themes/{{theme_name}}/js/*.map

Deployer 变量

这些变量是 Deployer 内置的。您可以在以下链接中了解更多信息:https://deployer.org/docs/6.x/configuration

* 粗体变量名是必需设置的。

* 斜体默认值是 WP-Deployer 自定义的。

clear_paths 默认值
.git
templates
.gitignore
.lando.yml
auth.json
composer.json
composer.lock
config.yml
deploy.php
readme.md
shared_dirs 默认值
content/uploads
shared_files 默认值
.htaccess
robots.txt
wp-config.php

覆盖变量

您可以通过在 config.yml 文件中定义它们轻松覆盖上述任何变量。您也可以通过在 deploy.php 文件中使用 Deployer 函数 来覆盖或添加它们,如下所示

<?php
require_once('./vendor/autoload.php');
new WP_Deployer();

use function Deployer\{ add, set };

add('extra_files', array(
  'scripts.js',
  'lib/bootstrap/bootstrap.css'
));

set('ssh_multiplexing', false);
?>

模板

模板文件如下: .htaccessrobots.txtwp-config.php。WP-Deployer 包含了这些文件的默认模板,但也可以通过将它们放置在您的 templates 目录中来自定义。我们使用 Twig 来渲染模板。查看此包中的 templates 目录以获取示例。

可以将模板与特定的阶段相关联,方法是在 .twig 文件扩展名之前放置该阶段名称(例如:robots.txt.staging.twig)。

(注意:将来将提供在此处添加自定义模板的功能。)

使用方法

运行 dep list 和/或 dep help <command> 以获取有关这些命令的更多信息。

dep deploy <stage>

将您的网站部署到 stage(在您的 config.yml 文件中定义)。

dep db:<push/pull> <stage>

从/到 stage 导出和上传/下载数据库,然后导入它。

dep db:backup:<local/remote> [stage]

stage(或本地)导出数据库。

dep uploads:<push/pull> <stage>

将你的content/uploads目录的内容下载/上传到stage

dep shared:推送/拉取 阶段

shared_dirs中列出的所有目录的所有内容下载/上传到stage

dep db:fix

提取你数据库的本地副本,将所有utf8mb4_unicode_520_ci替换为utf8mb4_unicode_ci,然后重新导入。这解决了服务器使用与本地不同的MySQL版本时的问题。[问题链接]

dep setup:本地/远程 阶段

生成模板文件,如果尚未设置,则为WordPress设置数据库。如果设置了新数据库,用户名和密码(随机生成)将在终端显示。请注意,将生成新的wp-config.php文件,其中包含新生成的密钥。

dep setup:init 阶段

一个便捷命令;按照以下顺序运行以下命令:dep setup:local 阶段dep uploads:pull 阶段dep db:pull 阶段

许可证

MIT。有关更多信息,请参阅license.md文件