chrico/wordpress-capistrano-starter

此软件包已被废弃,不再维护。没有建议的替代软件包。
此软件包的最新版本(dev-master)没有可用的许可证信息。

部署 `wp-content` 目录的入门套件。

安装: 8

依赖项: 0

建议者: 0

安全性: 0

星级: 0

关注者: 1

分支: 0

开放问题: 0

语言:Ruby

类型:项目

dev-master 2016-05-23 12:16 UTC

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)。

设置您的 hostuserwebdir,这是远程服务器上您的 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

发生了什么

  1. 测试SSH连接。
  2. 检查Git连接。
  3. deployments/中创建文件夹。

部署和回滚

$ cap {environment} deploy

发生了什么

  1. 读取选定分支的HEAD。
  2. 如果不存在,则创建shared文件夹。
  3. 通过git checkout更新~/deployments/repo
  4. 执行composer update
  5. 如果不存在,则创建release文件夹。
  6. release中创建以日期和时间命名的新文件夹。
  7. 将当前分支从repo复制到该文件夹。
  8. 更新所有指向releases/{最新发布}shared/的符号链接到current/
  9. 清理旧版本发布 - 默认为最后5个版本。
$ cap {environment} deploy:rollback

发生了什么

  1. release/{当前发布 - 1}中更改current/的符号链接。