Create a free account to get access to additional free training videos. Enjoy this free video from CraftQuest! Create a free account to get access to additional free training videos. Join the Community

Moving to a Modern Development Workflow for Craft CMS

Introduction to Building a Modern Dev Workflow for Craft CMS

For a recent client project, I was tasked with taking an existing Craft CMS project, updating it to the latest version of Craft and plugins, as well as moving it to a more modern development workflow.

For a recent client project, I was tasked with tak­ing an exist­ing Craft CMS project, updat­ing it to the lat­est ver­sion of Craft and plu­g­ins, as well as mov­ing it to a more mod­ern devel­op­ment workflow.

The descrip­tion mod­ern devel­op­ment work­flow” is cer­tain­ly sub­jec­tive, as one expe­ri­ence lev­el, project require­ments, etc. may deter­mine the def­i­n­i­tion of mod­ern”.

That being said, this work is all about mak­ing it mod­ern with no work­flow as the start­ing point.

Let’s assume that the client cur­rent­ly works direct­ly on the serv­er, doesn’t use project con­fig in Craft CMS and, gen­er­al­ly, just isn’t that good of a set­up. There’s a lot of risk with some­thing like this, and while a lot of peo­ple might think some­thing like this doesn’t hap­pen any­more, it most cer­tain­ly does!

Since I can’t show you the client project itself, we’ll use an old­er exam­ple project that I’ve used on sev­er­al videos in the past. It’s the Down­link” project I built in the Flex­i­ble Twig Tem­plates with Craft course and in some oth­er lessons here on CraftQuest.

Here are the steps we are going to take to mod­ern­ize our project:

  1. Get a full export of the project code, assets, and database.
  2. Cre­ate a Git repos­i­to­ry for the project and move the code into that repository
  3. Rebuild or cre­ate project con­fig files based on the database
  4. Move assets to a remote vol­ume, host­ed on a serv­er sep­a­rate from the webserver
  5. Build­ing a web devel­op­ment work­flow suf­fi­cient for the team and its needs (don’t force them to use some­thing because you think it’s a good idea).
  6. Set up a deploy­ment work­flow, so the develop branch is auto­mat­i­cal­ly deployed to the stag­ing environment.

For this video we will use the deploy­ment and host­ing ser­vices from Servd, a Craft-focused host­ing com­pa­ny. If you’re not famil­iar with Servd and use some­thing else, then that’s okay. This video is just an exam­ple of how I do this work. 

You can also check out oth­er good host­ing options, like for­tra­b­bit or Arcustech. You can also use any host­ing and deploy­ment tools like [Bud­dy] and remote assets vol­umes on AWS s3 or Dig­i­tal Ocean Spaces.