chrico / wordpress-capistrano-starter
此软件包已被废弃,不再维护。没有建议的替代软件包。
此软件包的最新版本(dev-master)没有可用的许可证信息。
部署 `wp-content` 目录的入门套件。
dev-master
2016-05-23 12:16 UTC
Requires
- php: >=5.4
- composer/installers: 1.*
Requires (Dev)
- php: >=5.4
- wpackagist-plugin/loco-translate: 1.5.5
- wpackagist-plugin/p3-profiler: 1.5.3.9
- wpackagist-plugin/theme-check: 20151211.1
This package is auto-updated.
Last update: 2021-05-17 19:40:55 UTC
README
目录
需求
- Ruby >= 2.0
- Capistrano 3.4.0
- Bundler
- Composer
- 通过 SSH 密钥访问服务器
安装 Ruby
$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x64-mingw32]
安装 Capistrano
Capistrano 是一个远程服务器自动化工具。它支持脚本的编写和执行任意任务,并包含一组合理的默认部署工作流程。
安装方法:https://capistrano.ruby-lang.org.cn/documentation/getting-started/installation/
$ gem install capistrano
$ cap -v
Capistrano Version: 3.4.0 (Rake Version: 10.5.0)
安装 Bundler
Bundler 是 Capistrano v3 的包管理器。
$ gem install bundler
$ bundler -v
Bundler version 1.11.2
安装 Composer
Composer 是 PHP 的依赖管理器。
配置 Capistrano
基本配置
转到 config/deploy.rb
并配置您的 application
-name 和 repo_url
。
环境
要配置您的环境,请转到 config/deploy/staging.rb
。文件名等于您的部署命令 cap {environment} deploy
,例如 cap staging deploy
)。
设置您的 host
、user
和 webdir
,这是远程服务器上您的 Web 项目的相对路径。
本地开发
此 Starterkit 仅代表您的 wp-content
目录,并不限制您的本地工作流程。您可以...
- 在本地替换您的
wp-content
。 - 在您的 WordPress 安装中创建到该文件夹的符号链接。
- 通过 Composer 加载 WordPress
- ...
要使用插件和主题,只需将它们添加到您的 composer.json
中,并运行 composer install
。
远程服务器
目录结构
| /cache
| /deployments
|_ current/ ~> ~/deployments/releases/YYYYMMDDHHIISS/
|__ releases/
|___ <release folders with YYYYMMDDHHIISS>
|__ repo/
|___ <VCS data>
|__ shared/
|___ <linked_files & linked_dirs>
|_ revisions.log
| /tmp
|___ composer.phar
| /www
|___ <WordPress installation>
|___|___ wp-content/ ~> ~/../deployments/current/
| wp-config.php
wp-config.php
要将正确的wp-content/
文件夹加载到您的WordPress安装中,您需要在wp-config.php
中添加以下行
define( 'WP_CONTENT_DIR', realpath( __DIR__ . '/deployments/current' ) );
命令
查看所有可用命令
$ cap -T
检查是否一切正常
cap {environment} deploy:check
发生了什么
- 测试SSH连接。
- 检查Git连接。
- 在
deployments/
中创建文件夹。
部署和回滚
$ cap {environment} deploy
发生了什么
- 读取选定分支的HEAD。
- 如果不存在,则创建
shared
文件夹。 - 通过
git checkout
更新~/deployments/repo
。 - 执行
composer update
。 - 如果不存在,则创建
release
文件夹。 - 在
release
中创建以日期和时间命名的新文件夹。 - 将当前分支从
repo
复制到该文件夹。 - 更新所有指向
releases/{最新发布}
和shared/
的符号链接到current/
。 - 清理旧版本发布 - 默认为最后5个版本。
$ cap {environment} deploy:rollback
发生了什么
- 在
release/{当前发布 - 1}
中更改current/
的符号链接。