Deployment flow for a Kirby site (and to git the content or not)

Hi all,

I’m currently investigating whether Kirby is an option to replace our current in-house-built CMS. So far I’m very positive. The main issue though now is the deployment flow. I was wondering how other companies are using Kirby.

I’ve got my site in a (bitbucket) repo. Kirby is loaded via a submodule, and so are a few plugins (mostly for SEO). The content is stored in a separate plugin and also loaded via a submodule.

When committing to a develop branch, a bitbucket pipeline uses rsync to update the site on a development server. When merging to a master branch, a bitbucket pipeline uses rsync to update the site on the live server. The submodules are updated during this deployment. So far so good.

The main issue is the content. I don’t want the client to have to think about git, they should simply use the panel and publish things. On the other hand, I would like to have the content in some sort of gitflow, to be able to retrieve the latest version for local deployment, but also the quickly update the live version when added major features (a shop or what have you).

I tried using the git-content plugin (https://github.com/thathoff/kirby-git-content), but had some problem getting it to work as a submodule, and would rather not use composer on the dev/live servers.

I’m still wondering if it is even necessary/desired to place the content in a repo, as I’d prefer for instance to ask the client to use the panel on the dev location and upon save or with an endpoint or whatever, store the entire content in S3 to be used by the live. That prevents issues with multiple live servers and possible git merge issues with multiple editors.

Ideally I’d store the entire site on S3 via the static site generator plugin (https://getkirby.com/plugins/d4l-data4life/static-site-generator), but that would require that things like and form processing would have to be changed.

And then there’s the option of storing media and assets on S3, the save the live server from to much traffic, which can be achieved with the Custom URL setup (https://getkirby.com/docs/guide/configuration#custom-url-setup).

So, a bit longer than I’d planned, but I was just wondering how others are doing this and any advice/tips are very welcome.

Thanks!

-Mirthe Valentijn

2 Likes

For future visitors, I crossposted on Discord and got quite a few reactions:

Any feedback here (or on Discord) is still very welcome!