At Monkeytag, we use Pantheon as our website host provider since we like its deployment pipeline, advanced page caching, and fast content delivery network. The Pantheon workflow is built to accommodate WordPress-based sites like ours. The information below outlines how to use the Pantheon workflow with WordPress.
Note: We built our website with this approach to act as a working demo to show clients who prefer using a WordPress page builder.
What is Pantheon?
Pantheon.io is a web host specializing in WordPress and Drupal hosting and allows for GIT version control. When you understand the Pantheon workflow completely, you can work with it correctly and save yourself some future headaches.
At its core, you need to understand two main concepts:
- Your site has 3 different Environments
- Your site has 3 types of Data
First, you will want to understand the 3 types of Data and make sure that you know which bucket your data falls into.
The Data Types
It is essential to understand the three data types’ function because you will be moving each data type independently in different directions (some upstream and some downstream).
Additionally, you will need to know which direction each type of data should flow, and therefore need to know what’s included in each data type bucket.
A quick reference is as follows:
- Code is all the files under GIT/SFTP control
- Files + Database is the site content and is NOT GIT/SFTP controlled
The Environments
Pantheon provides three environments as part of the deployment pipeline.
For our agency workflow, each environment has a purpose and function with our projects as follows:
- Dev – We use the dev environment for the internal agency team to build and test new/updated code, designs, or integrations.
- Test – We use the test environment for clients to review and approve new/updated work by the agency.
- Live – The final live environment is where all approved new/updated code, design, and content is pushed and lives online for everyone to view.
For pushing/pulling data types, the Development environment is where you will be able to GIT clone and push your Code. You will then push/commit the dev environment code upstream to then deploy on the other environments. You can also periodically pull-down/clone the Files and Database from the Test and Live environments so the Development site will look the same.
The Data Flow
To begin, an important fact to remember is that Code can ONLY flow upstream. In Pantheon, it’s NOT possible to pull Code changes back downstream or make Code changes in the other environments.
Files + Database data types can flow both ways.
The development environment is where new/updated Code changes occur and will then move upstream for testing and approval. While this is happening, new site content (i.e., product orders, blogs, photos, etc.) on the live environment is typically taking place, representing active Files + Database changes. These Files + Database data type changes MUST flow downstream to the other environments.
Warning: If you move the Files + Database upstream from the development environment to the other testing and live environments, it will overwrite all of that important and necessary content.
Tip: For more information, please take a look at this other post on Pantheon workflow by Nick Coughlin on his site, as it was a great reference and resource for this post.