elseif / internetdagarna
WordPress项目的自动处理
Requires
- composer/installers: ^1.2
- johnpbloch/wordpress: ^4.6
- vlucas/phpdotenv: ^2.4
- wp-cli/wp-cli: ^0.25.0
- wpackagist-plugin/ilmenite-cookie-consent: ^1.1
- wpackagist-theme/twentysixteen: ^1.3
Requires (Dev)
- deployer/deployer: ~4
- laravel/homestead: ^3.0
- phpcasperjs/phpcasperjs: ^1.2
- phpunit/phpunit: ^5.6
- symfony/console: ~2
- symfony/debug: ~2
- symfony/finder: ~2
- symfony/process: ~2
- symfony/yaml: ~2
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
以更新您的外部包。
开发环境
composer update
composer require laravel/homestead --dev
php vendor/bin/homestead make
根据您的设置编辑Homestead.yaml。更新 /etc/hosts (OSX)
vagrant up
如果环境出现混乱?重启Vagrantbox
vagrant reload --provision
部署
我们使用PHP Deployer 和 WP 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文件必须位于服务器上。记得更改管理员密码!