I have a quick project to throw together, and used GitHub - collective/cookiecutter-plone-starter: Cookiecutter Plone Starter is a framework for jumpstarting Plone 6 projects quickly. to get a quick start on it. This worked fine. I was able to do all my 'nocode' setup without opening up an IDE.
I did this on my local machine, and now I'm ready to throw this up on my hosting provider (an aws instance) and, well, I'm just going to spin up an ubuntu instance, do an
adduser plone and scp the whole bunch of files cookiecutter created, plus my data.fs. Then start the servers. Yay.
But this takes no forethought and will this be a repeatable, maintainable build? When am I going to paint myself into a corner here?
I want to ask you guys what your processes are for deploying - especially with cookiecutter.
I'm used to the buildout process. I would create my plonesite as an addon, check that bit of customization into github, and push my custom buildout up to a hosted machine. Running buildout would build plone, and my addon, and I would just manage everything in buildout.
So, what's the new game here? Do I create the entire file structure locally, package it up, and deploy black-boxes up to the cloud as images?
I certainly don't want to create a repo for my entire backend or frontend. Probably just repositories for my backend python package (what I named the thing) and my volto customizations.
I've read some stuff in cookiecutter's
devops folder, and I also see there are some github workflow .yml stuff in
.github/ but I'm not sure how to use them. I have spun up docker instances before, but never created them myself, never used vagrant, ansible, etc....
I've been procrastinating this journey forever now. I need to start learning and doing this, and that's the advice I'm hoping to get. What to practice on first.
Here's what I got out of
devops ├── ansible.cfg ├── group_vars │ └── all │ ├── groups.yml │ ├── host.yml │ ├── swap.yml │ ├── ufw.yml │ └── users.yml ├── host_vars │ └── rfaqsl-local.yml ├── inventory │ └── dev.yml ├── Makefile ├── playbook-setup.yml ├── README.md ├── requirements │ ├── ansible.yml │ └── python.txt ├── stacks │ ├── default.conf │ ├── docker-compose-latest.yml │ ├── docker-compose-local.yml │ └── plone.yml └── Vagrantfile