Skip to content

Latest commit

 

History

History
141 lines (98 loc) · 4.85 KB

README.template.md

File metadata and controls

141 lines (98 loc) · 4.85 KB

Outline

Pantheon Environments

Local Development

In order to more easily recreate the production environment locally, Lando is used for local development. We also use Pantheon’s CLI, Terminus, to sync files and databases.

Prerequisites

Install all the required local dependencies:

You'll also need write access to this repo and be a member of the Pantheon Project.

Installation

  1. Clone the Repo
    $ git clone https://github.com/Threespot/fix-me.git
  2. Install Application Composer Dependencies
    $ composer install
  3. Install Theme Composer Dependencies
    • Navigate to the sage theme directory
      $ cd web/wp-content/themes/sage
    • Install Componser deps
      $ composer install
  4. Install Theme Node Dependencies
    • Navigate to the sage theme directory
      $ cd web/wp-content/themes/sage
    • Install Node deps
      $ yarn install from the theme directory

Boot WordPress Application

With all the dependencies installed, from the root project directory run:

lando start

If this is the first time running this command, Lando will build the necessary Docker containers.

To stop the server run:

lando stop

Other Lando CLI command can be read here in the Lando docs

Boot Theme (Webpack) Server

Making CSS or JS updates requires running Webpack to recompile and inject the CSS and JS.

  1. Navigate to the theme folder
    $ cd /web/wp-content/themes/sage

  2. Install npm dependencies using Yarn
    $ yarn install

  3. Start Webpack
    $ yarn start

  4. You should now be able to view the site locally at https://localhost:3000

  5. To stop the server, press Control + C

Pull Files and Database from Pantheon

Lando is used to pull uploads and data from Pantheon. See docs here.

lando pull --database=test --files=test --code=none

Deploying

Code committed to the remote master branch is automatically deployed to the dev environement on Pantheon. After a local branch is pushed, CircleCI will build and deploy the files to Pantheon’s dev environment. You can tell CircleCI to not run by adding [skip ci] to the commit message.

Code that exists on dev can be promoted to the test enviroment, and test can be promoted to the live environment. Details about the application lifecycle can be read here. Feature branches with a corresponding pull request will create a multi-dev enviroment used for testing indiviual features. Docs are available here

Deployment Using Terminus

Test Environment

Code will be promoted from dev to test

lando composer run-script deploy:test

NOTE: this composer script will also purge Pantheon's cache.

or

lando terminus env:deploy fix-me.test

Live Environment

Code will be promoted from test to live

lando composer run-script deploy:live

or

lando terminus env:deploy fix-me.live