2.0.0-alpha2
Pre-release
Pre-release
This is an alpha release of the-build 2.0 and is not expected to be fully functional. Note that this is entirely unrelated to the 2.0.0-alpha1
tag.
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 exposed 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 the property structure. This means that 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. - 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
Other functionality changes
- 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.
Upgrading to this release
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.xml
file.
- 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.*.properties.yml
(seedocs/configuration.md
)conf/drupal/services.yml
-->.the-build/drupal.services.yml
conf/drupal/settings.php
-->.the-build/drupal.settings.build.php
conf/drupal/settings.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 multisite, review the documentation at
docs/drupal_multisite.md
- Test with
phing install
,phing test