NRO specific deployment guides
In our current approach of hosting, each NRO gets automatically three sites:
- A develop site, at www-dev.greenpeace.org/<nro>
- A staging site, at www-stage.greenpeace.org/<nro>
- A production site, at www.greenpeace.org/<nro>
Deployments on these site is controlled by your
- For every commmit on the
mainbranch, the CI develop pipeline is triggered.
- For every new tag, the CI production pipeline is triggered.
Besides all the themes and plugins selected by the Planet 4 team, this repository has its own
composer-local.jsonfile, where you can add additional requirements. This looks like this:
"description": "Greenpeace P4 NRO",
"greenpeace/planet4-child-theme-nro" : "dev-main"
"site:custom" : 
In addition to that, you can optionally create an environment-specific file in case you want to install some extra packages in just one environment or if you just want to override package versions.
Our current setup, will check for two optional environment json files, expecting to find a
requirekey in them.
development.json: development environment (
production.json: production environment (
An example of a
production.jsonfile could look like this:
"greenpeace/planet4-child-theme-nro" : "v0.*",
Assuming you are working your child theme (or your custom plugin) which is already on packagist, you may want to see and demo your changes to the development site before pushing them to production.
So one pattern you may use is:
- 1.Always deploy a specific branch of that child theme to development.
- 2.Always deploy the latest tag of that child theme to production.
In that scenario you want
composer-local.jsonto have this in the
"greenpeace/planet4-child-theme-nro" : "dev-develop"
dev-prefix. This is needed by composer when the version is a branch.
You can the create a
production.jsonfile that would look like this:
"greenpeace/planet4-child-theme-nro" : "v0.*"
If you want to test another custom branch of your child-theme, here are the steps:
- 1.Your code must be in a branch in your repository. For example, the name of your branch is
- 2.Packagist will automatically pick up your code. Please note that packagist adds the prefix
dev-, so your feature will appear as
- 3.In your
planet4-<nro>repository, modify the child-theme line like that:
"greenpeace/planet4-child-theme-<nro>" : "dev-feature/something-cool". If you don't want to amend
composer-local.json, you can just create a
- 4.Push your changes.
- 5.Go to CircleCI, find the pipelines for your nro and wait to see that the develop pipeline has finished running (it will take around 10 minutes).
- 6.Check that your changes appear in your develop website.