elseif/internetdagarna

WordPress项目的自动处理

安装: 5

依赖: 0

建议者: 0

安全: 0

星级: 5

关注者: 4

分支: 1

开放问题: 0

类型:项目

1.1.2 2016-11-22 11:14 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:25:19 UTC


README

WordCamp Internetdagarna, Waterfront Stockholm, 2016

这个代码库是为2016年WordCamp Stockholm的演示而开发的。

代码应被视为一个用于WordPress项目开发和分发的结构化环境的“概念证明”。

此演示的总结在此处的幻灯片中!

目的是提供一个关于如何自动化WordPress开发和通过版本控制、包管理、部署和测试进行受控设置的洞察力。

演示后的链接

关于演示的一些问题展示了有趣的观点

Roots: Trellis - Vagrant环境, Bedrock - 包结构, Sage - 主题 Laravel Forge,适用于此类WordPress配置。

基本要求

  • PHP
  • Composer
  • Git
  • Virtual Box
  • Vagrant

可选

  • Node, npm用于CasperJS的测试案例
  • 一个VPS用于部署

快速步骤

如果您想快速进行此操作

  • composer create-project elseif/internetdagarna
  • cd internetdagarna
  • cp .env.example .env
  • (修改Homestead.yaml的第15行到您的项目路径)
  • vagrant up
  • (修改hosts文件:192.168.10.13 => internetdagarna.dev)
  • vendor/bin/dep initial dev
  • (访问http://internetdagarna.dev)

更多关于每个部分的内容见下文!

版本控制

使用Git进行版本控制。请在您的计算机上安装Git!项目位于GitHub上,采用MIT许可证。

包管理

我们使用Composer,外部包的配置文件在composer.json中定义。

composer install

习惯于运行composer update以更新您的外部包。

开发环境

VagrantVirtual Box

Homestead Laravel

composer update
composer require laravel/homestead --dev
php vendor/bin/homestead make

根据您的设置编辑Homestead.yaml。更新 /etc/hosts (OSX)

vagrant up

如果环境出现混乱?重启Vagrantbox

vagrant reload --provision

部署

我们使用PHP DeployerWP CLI 来初始化新网站。

vendor/bin/dep initwp dev

在Vagrantbox中初始化WordPress安装并设置一个测试主题为活动状态。

登录wp-admin: http://internetdagarna.dev/wp/wp-admin 使用 admin 和密码 admin

vendor/bin/dep testdata dev

用测试数据填充您的WordPress网站。

测试

我们使用 PHPUnit,在此案例中,使用CasperJS进行一个简单的UI测试,该测试生成测试的图片。CasperJS需要Node的全局安装。

基于Java的Selenium是另一种UI测试工具,但由于我们经常使用Node.js,所以CasperJS更便于使用,并且更加简单。

安装示例

sudo npm install -g phantomjs
sudo npm install -g casperjs
vendor/bin/dep tests dev

在Vagrantbox中启动UI测试。

生产部署

vendor/bin/dep deploy production

在生产服务器上创建一个新的版本。基本要求是目标机器已安装Git和Composer。此外,还需要一个shared/.env文件以及已安装的数据库。可以使用之前的startup初始化WordPress安装,例如:

vendor/bin/dep startup production

请注意,数据库和.env文件必须位于服务器上。记得更改管理员密码!