[wp-trac] [WordPress Trac] #43711: Let's create a standard development setup for WordPress core.
WordPress Trac
noreply at wordpress.org
Fri Apr 6 14:28:32 UTC 2018
#43711: Let's create a standard development setup for WordPress core.
------------------------------+-----------------------------
Reporter: omarreiss | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Build/Test Tools | Version: trunk
Severity: normal | Keywords:
Focuses: |
------------------------------+-----------------------------
^This ticket was triggered by previous discussion in
https://core.trac.wordpress.org/ticket/43055^
The current default for developing WordPress core seems to be VVV. While
VVV is doing a great job in making it easier to run WordPress locally, I
think we could do better, especially for WordPress core.
With this ticket I would like to set a goal for improvement and discuss
ways to achieve it.
== The goal: a simple, two-step process for setting up a WordPress core
development environment ==
The simplest development setup workflow I can think of consists just of
two simple steps:
'''''Download and boot'''''
That's how simple it should (eventually) be. WordPress should now be
running on some local address and every developer should be able to dive
in the code and make changes.
== Integrating watch and build behavior ==
As we plan to [https://core.trac.wordpress.org/ticket/43055 introduce a
build step to the development workflow], it becomes more important that
building is not an afterthought but something that is integrated into the
development workflow.
The desirable state is one in which we just boot and can trust all changes
are processed to whatever's being served in the browser.
This unfortunately is not the case at the moment. If we want to do better,
we need a more unified approach.
== Requirements ==
We need something that is:
- the easiest possible development workflow: just download and boot.
- fast: reduce build and boot times to a minimum.
- reliable: it should just work.
@pento noted that eventually he'd like this thing to be configurable and
installable through a GUI in order to reduce the barrier of entry for new
contributors to the absolute minimum.
== Possible solutions ==
=== Docker install script ===
@pento built automated development environment setup scripts for Gutenberg
based on Docker.
> The Gutenberg setup script walks the user through setting up their
development environment. It would obviously need to be written to work on
Windows, too, before it was a valid option for Core. That will be fun. 🙂
There are a few benefits to using a Docker based environment.
- It's fast
- It's composable
- It only requires Docker
Aside: If we get good and well maintained Docker images for WordPress,
this could also benefit the web hosting community, will make WordPress
more optimized for cloud native hosting infrastructures, could also help
optimize WordPress unit testing in container based CI solutions like
Travis etc.
=== VVV install script ===
@TJNowell noted similar advantages might also be achieved with VVV
> I see no reason the docker call in the GB script couldn't be a git clone
... cd vvv.. vagrant up --provision
Of course VVV and the community behind it include a great deal of
experience with regard to the intricacies of creating the development
environment for WordPress.
If we can make it easy, fast and reliable enough, that might just be what
we need!
--
Ticket URL: <https://core.trac.wordpress.org/ticket/43711>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list