2.0.0
Thanks to @byrond, @jesconstantine, @froboy, @russom-woldezghi, @patrickfweston, and @gdemet for their work contributing code, reviewing changes, and squashing bugs; further thanks to @lukewertz, @deadarm, @zendoodles, @damontgomery, @rickard, @scalp8, and more for so many fruitful conversations over the life of the 1.x release, which were the fuel and inspiration for round 2.
This release has several core architectural changes:
- Property files are now formatted as YAML
- Default property values and full documentation are now centralized in the
defaults.properties.yml
file within the-build - Configuration for the-build is now stored in its own directory,
.the-build/
- The build, install, and test functionality is now fully enumerated in the template
build.xml
file that gets installed into projects, so that it's easier for developers to understand and modify these targets - Drupal multisite configurations are supported by default. Site-specific properties moved from
drupal.*
todrupal.sites.default.*
, and there is now boilerplate for loading properties from one "active" site intodrupal.site.*
. - Drupal config exports have moved from
conf/drupal/config/
toconfig/sites/default/
, which also supports exporting config for multisites. - Default splits for the
config_split
module are included. - the-build now provides a default
settings.php
for Drupal, plus a host-specificsettings.HOST.php
, and runningphing build
compiles environment-specific settings tosettings.build.php
Additional changes include:
- Rewritten install process. This code is now all in one location, and configuration prompts for values that are not generally changed from the defaults have been removed. Templates for Behat and CircleCI are more dynamic, and templates for configuring Pantheon and Platform.sh hosting have been added.
- Rewritten artifact build process. This code should now be more readable, reliable, and adaptable. Artifacts are available from the default
build.xml
file, and are suitable for deployment on Acquia, Pantheon, or generic hosting environments. - Rewritten Acquia targets, including downloading a recent database backup.
- Applying the MIT license to the project.
Here's the list of issues associated with the 2.0 milestone.
Updating to this release from 1.x
There is no automated upgrade path for this release. However, you can remove the previous version of the-build and install this one instead -- especially if you haven't added any heavy customization to your project's build process.
- The install will overwrite the following files:
.circleci/config.yml
.gitignore
behat.yml
build.xml
web/sites/default/settings.php
(if present)web/sites/default/settings.acquia.php
(if present)web/sites/default/settings.pantheon.php
(if present)web/sites/default/settings.platformsh.php
(if present)web/sites/default/services.yml
(if present)web/sites/default/settings.build.php
(if present)web/sites/default/services.build.yml
(if present)drush/drushrc.php
(if present)
- Run
vendor/bin/the-build-installer
- You must enter the URL you're already using
- If you select the host 'acquia', your
web/
directory will be moved todocroot/
- When it offers to install Drupal for you, respond
N
- You've installed the new version! Now, you need to reconcile your previous configurations and integrate any customizations.
- If the install moved your
web/
directory todocroot/
, go ahead and add this change to git:git rm -f web/ git add docroot/ git add composer.* git ci -m "Moved the Drupal root in order to match Acquia (the-build 2.0 update)"
- Move your Drupal config into the new location:
mkdir -p config/sites git mv conf/drupal/config config/sites/default git ci -m "Moved the exported Drupal config (the-build 2.0 update)"
- Review and re-incorporate customizations you had made to the following files:
.circleci/config.yml
.gitignore
behat.yml
build.xml
conf/build.*.properties
-->.the-build/build.*.yml
(seedocs/configuration.md
)conf/drupal/services.yml
-->.the-build/drupal/services.build.yml
conf/drupal/settings.php
-->.the-build/drupal/settings.build.php
conf/drupal/settings.acquia.php
-->.the-build/drupal/settings.build-acquia.php
+docroot/sites/default/settings.acquia.php
conf/drushrc.php
-->drush/drushrc.php
- If you're using artifact-based deployment, review the documentation at
docs/artifacts.md
- If you're using Drupal multisites, review the documentation at
docs/drupal_multisite.md
- Test with
phing install
,phing test