sparkison / cmsmove
CMSMove - 自动化 CMS 部署。
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ~4.0|~5.0|~6.0
- phpseclib/phpseclib: ^2.0
- symfony/console: ~2.3|~3.0
- symfony/process: ~2.3|~3.0
- dev-master
- 1.0.63
- 1.0.62
- 1.0.61
- 1.0.60
- 1.0.59
- 1.0.58
- 1.0.57
- 1.0.53
- 1.0.48
- 1.0.47
- 1.0.46
- 1.0.45
- 1.0.44
- 1.0.43
- 1.0.42
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
- dev-dependabot/composer/guzzlehttp/psr7-1.8.5
- dev-dependabot/composer/phpseclib/phpseclib-2.0.31
This package is auto-updated.
Last update: 2024-09-21 22:30:21 UTC
README
为流行的内容管理系统提供自动化部署
目前支持的系统
- Craft CMS - 版本 2 和 3。
- ExpressionEngine (2 和 3)
- Laravel 5.x - 已测试至 5.8,目前仍然使用
laravel53
配置命令。 - WordPress
我们已经在上述框架中广泛使用。如果您遇到任何问题,请告知我们,以便我们可以将其修复。
要求
安装说明
-
确保
~/.composer/vendor/bin
可在您的终端 PATH 中使用。sudo nano ~/.bash_profile
- 确保您有一行类似于以下内容:
export PATH="~/.composer/vendor/bin:$PATH"
-
使用以下命令全局要求
cmsmove
composer global require sparkison/cmsmove
-
切换到项目目录,例如
~/Sites/mysite.dev
,然后运行cmsmove config <框架>
,其中<框架>
是 cmsmove 配置的 CMS 之一*
*有关更多信息,请参阅下方的 使用
使用
入门
安装 phar
文件或使用全局 composer
安装后,请确保您可以从命令行运行 cmsmove
。
要使用 cmsmove,您必须首先添加一个配置文件和一个忽略文件。为此,请将 cd
进入您的项目根工作目录,并运行
cmsmove config <框架>
,其中<框架>
是支持的 CMS 系统之一- 目前支持的
<框架>
选项包括craft
、laravel53
、wordpress
、ee2
和ee3
- 目前支持的
这将生成所需的 moveConfig.json
和 rsync.ignore
文件。moveConfig.json
文件将包含推送和拉取所需的所有变量。rsync.ignore
文件将包含要忽略的文件/文件夹列表。根据需要添加项目。
配置 moveConfig.json
这是一个 JSON
文件,用于获取访问本地安装和数据库以及配置的远程主机所需的变量
示例配置文件
{ "type": "craft", "mappings": { "app": "craft", "www": "public", "config": "config", "plugins": "plugins", "templates": "templates", "custom": { "uploads": { "type": "public", "directory": "uploads" }, "assets": { "type": "public", "directory": "dist" } } }, "environments": { "local": { "root": "/Users/MY_USER_NAME/Sites/mysite.dev", "db": "local_db_dev", "dbHost": "localhost", "dbUser": "root", "dbPass": "root", "dbPort": "3306" }, "staging": { "host": "REMOTE HOST OR IP", "root" : "/home/user", "public": "public_html", "user": "SSH USER NAME", "password": "SSH PASSWORD", "keyfile": "SSH KEY FILE (takes precedence over the password field)", "port": "22", "db": "REMOTE DATABASE NAME", "dbHost": "localhost", "dbUser": "REMOTE DATABASE USER", "dbPass": "REMOTE DATABASE PASSWORD", "dbPort": "3306" }, "production": { "host": "", "root" : "/home/mysite", "public": "public_html", "user": "", "password": "", "keyfile": "", "port": "22", "db": "", "dbHost": "localhost", "dbUser": "", "dbPass": "", "dbPort": "3306" } } }
配置说明
必需:以下字段是必需的
type
告诉 cmsmove 正在使用哪个框架。mappings
包含有关本地设置的详细信息;此部分通常是特定于框架的app
应用程序主文件夹www
公共文件夹- 此列表中剩余的项目是特定于框架的
environments
各种环境(例如本地、预发布、生产)local
这是访问本地数据库的唯一必需环境,所有其他环境都是可选的,可以命名任何您喜欢
应用不在根目录:如果应用和公共文件夹相同,只需将 mappings.www
设置为空字符串,并将 mappings.app
设置为公共文件夹。此外,将 environments.<your_environment>.root
设置为远程主机公共文件夹,并将 environments.<your_environment>.public
设置为空字符串。
添加自定义目录进行同步:在配置文件的 mappings.custom
数组中添加一个 key => array
映射,用于您的自定义目录。自定义目录必须包含两个键/值对:type
和 directory
。
运行 cmsmove push staging custom
将显示您配置的自定义目录供您选择。例如:
... "custom": { "uploads": { "type": "public", "directory": "uploads" }, "assets": { "type": "public", "directory": "dist" } } ...
使用上面的例子,运行 cmsmove push staging custom
将显示类似于以下提示
[0] uploads
[1] assets
>
在提示下输入 0 将从本地将 "uploads" 目录推送到远程配置的公共目录。而输入 1 将推送资产目录。此外,您可以使用以下语法指定特定的文件而不是目录
... "custom": { ... "env": { "type": "root", "file": "y", "directory": ".env" } ... } ...
请注意,file
参数只需要是一个 "真值" 变量。例如 "yes","y" 和 "true" 都是有效的。
更新
只需运行以下命令:composer global update sparkison/cmsmove
要查看当前安装的版本,请运行:cmsmove --version
贡献
拉取请求、贡献、问题和功能请求总是受欢迎……虽然我更倾向于为新功能提交拉取请求…… ;)