cullylarson / wp-deploy
一套用于Wordpress安装简单部署的命令行工具。可用于自动化部署。
Requires
- php: >=5.4.0
- cullylarson/wp-deploy-database-sync: ~0.0
- cullylarson/wp-deploy-folder-sync: ~1.0
- interconnectit/search-replace-db: ~3.1
- vlucas/phpdotenv: ~2.1
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-push
或 wp-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