Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The average WordPress CI process works as follows: all of our code is stored in Github repositories, these repos are equipped with pipelines in the form of either Circle CI actions or Github Actions. When a developer pushes code to specific branches of a repo (main or master branch for live, staging or development branches for their respective environments) these actions trigger, compiling the site. Once the site is compiled within the action, it is synced with the WPEngine environment. For the most part, if configured correctly, the developer creating the site shouldn't have to think about this process whenever they want to update the site.

Github

Hosts our repos and is where our code review and collaborative iteration process takes place.

Github Actions

The second option for our "CI Pipeline", Github Actions currently provides the easiest to integrate CI for our needs. Many of our projects utilize these pipelines since we no longer have to maintain external pipelines and can combine accounts.

Like in the case with Circle CI, Github Actions listen for code changes in specific branches and deploy to related environments when changes are merged.

Circle CI

In April of 2023, Kalamuna started migrating away from using CircleCI in favor of GitHub Actions for WordPress clients. Circle is where we used to host the majority of our integration processes. We've since moved a lot of projects to Github Actions and most new sites are equipped with Github Actions scripts instead by default.

Most projects hosted there require a developer to be "subscribed" to the pipeline for it to run, not to mention for updates and failure notifications. So older projects may need to have someone resubscribe to ensure the build takes place.

WPEngine

WPEngine hosts the majority of the compiled code that we produce. In the average project case, either Circle CI or Github Actions will automatically sync code changes made in the Github repo to environments hosted here.

...