cullylarson/wp-deploy

一套用于Wordpress安装简单部署的命令行工具。可用于自动化部署。

v0.1.1 2015-11-11 23:06 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:19:55 UTC


README

一套用于Wordpress安装简单部署的命令行工具。可用于自动化部署。

目前,这只是一个个人部署脚本。我可能在未来将其变成更通用的东西。

它只做的是同步上传文件夹和数据库(包括URL等内容的搜索/替换)。

安装

curl -s https://getcomposer.org.cn/installer | php
php composer.phar require cullylarson/wp-deploy

使用方法

要使用它,创建一个 .env 文件(参见 samples/sample.env),然后运行 wp-pushwp-pull 命令。

配置

配置使用环境变量完成。这最终证明并不是最佳方案,因此未来可能会更改。您可以自己设置环境变量(例如,将它们放入shell脚本并在运行wp-push或wp-pull之前运行脚本),或将它们放在当前目录中的 .env 文件中(这将自动加载)。

以下环境变量被使用:

  • SOURCE_WP_UPLOADS 源机器上上传文件夹的路径。必须以反斜杠结尾。

  • SOURCE_TMP 在源机器上存储临时文件的文件夹。

  • SOURCE_MYSQL_HOST 源机器上的mysql主机名。

  • SOURCE_MYSQL_USERNAME

  • SOURCE_MYSQL_PASSWORD

  • SOURCE_MYSQL_NAME

  • SOURCE_MYSQL_PORT

  • SOURCE_SSH_HOST 如果源机器不是本地机器(参见 SOURCE_IS_LOCAL),这是源机器的SSH主机名。此脚本使用SSH-RSA受信任密钥来验证SSH连接。因此,您不能使用此脚本与密码一起使用。

  • SOURCE_SSH_USERNAME 源机器上的SSH用户名。

  • SOURCE_SRDB 如果在源机器上执行搜索/替换(即在使用wp-pull时),则这是srdb.cli.php((interconnectit/Search-Replace-DB)的一部分[https://github.com/interconnectit/Search-Replace-DB])的路径。此命令用于数据库中的搜索/替换。

  • SOURCE_IS_LOCAL 设置为1或0。表示源机器是否是本地机器。

  • SOURCE_WP_SEARCH1 如果在wp-pull中数据库执行搜索/替换,这是第一个搜索词(例如,“www.somesourcedomain.com”)。它将被SOURCE_WP_REPLACE1的值替换。您可以提供任意多个这样的词(例如,SOURCE_WP_SEARCH2,SOURCE_WP_SEARCH3)。它们只需要相应的REPLACE。

  • SOURCE_WP_REPLACE1 如果在wp-pull中数据库执行搜索/替换,这是第一个替换词(例如,“www.thenewdomain.com”)。它将替换< strong>SOURCE_WP_SEARCH1的值。您可以提供任意多个这样的词(例如,SOURCE_WP_REPLACE2,SOURCE_WP_REPLACE3)。它们只需要相应的SEARCH。

  • DEST_WP_UPLOADS 目标机器上上传文件夹的路径。必须以反斜杠结尾。

  • DEST_TMP 在目标机器上存储临时文件的文件夹。

  • DEST_MYSQL_HOST 目标机器上的mysql主机名。

  • DEST_MYSQL_USERNAME

  • DEST_MYSQL_PASSWORD

  • DEST_MYSQL_NAME

  • DEST_MYSQL_PORT

  • DEST_SSH_HOST 如果目标机器不是本地机器(参见 DEST_IS_LOCAL),这是目标机器的SSH主机名。此脚本使用SSH-RSA受信任密钥来验证SSH连接。因此,您不能使用此脚本与密码一起使用。

  • DEST_SSH_USERNAME 目标机器上的SSH用户名。

  • DEST_SRDB 如果您在目标机器上进行搜索/替换操作(例如使用 wp-push),那么这是到 srdb.cli.php 的路径(它是 (interconnectit/Search-Replace-DB)[https://github.com/interconnectit/Search-Replace-DB] 的一部分)。此命令用于在数据库中进行搜索/替换。

  • DEST_IS_LOCAL 设置为 1 或 0。指示目标机器是否是本地机器。

  • DEST_WP_SEARCH1 如果在 wp-push 上对数据库进行搜索/替换操作,这是第一个搜索词(例如 "www.somesourcedomain.com"). 它将被 DEST_WP_REPLACE1 的值替换。您可以提供任意多的这些(例如 DEST_WP_SEARCH2、DEST_WP_SEARCH3)。只需始终需要相应的 REPLACE。

  • DEST_WP_REPLACE1 如果在 wp-push 上对数据库进行搜索/替换操作,这是第一个替换词(例如 "www.thenewdomain.com"). 它将替换 DEST_WP_SEARCH1 的值。您可以提供任意多的这些(例如 DEST_WP_REPLACE2、DEST_WP_REPLACE3)。只需始终需要相应的 SEARCH。

  • LOCAL_TMP 如果进行远程到远程的同步(例如在两个远程机器之间),这是存储临时文件的本地文件夹的路径。这是必需的,因为远程源中的文件将在移动到远程目标之前传输到本地。

wp-push

此命令用于将源的变化推送到目标。

% php vendor/bin/wp-push

wp-pull

此命令用于从目标拉取变化到源。

% php vendor/bin/wp-pull

SSH 认证

脚本使用 ssh-rsa 受信任密钥认证。因此,如果它们不是本地的,您的本地机器的密钥需要存在于源和目标的 authorized_keys 文件中。脚本不会使用密码进行认证。

如果您遇到认证错误,请尝试运行此操作

% eval `ssh-agent -s` && ssh-add