Hi,
I am currently developing a custom Frappe app. Everything works locally, but now I want to show it to customers. For that,I would like to have a solution where I can develop on individual feature branches, deploy them easily (CI or by pressing a button), and show them individually to customers.
I guess this could be done via Frappe Cloud, but if I understand it correctly, I would have to create a private bench with a site per feature, which means 25$ per feature branch per month? Or did I misunderstand something?
Are there any existing solutions that support that? I am perfectly fine with Frappe Cloud pricing for production, but for simply testing features, it feels a little bit much.
And I really don’t want to start hosting my own Press instances or something like that.
Do you need all of these different branches to be available simultaneously or in quick succession? If not, you can (relatively) easily switch between branches on a single site, either self-hosted or in the cloud.
If you need them all available simultaneously, that starts to get complicated. Regardless of how you’re hosting, you’d need to have a separate bench up and running for each one.
I’d say the typical workflow would have 2-3 feature branches simultaneously.
What are people usually doing in that case? I mean, there should be apps that get developed in a team with multiple feature branches at the same time, so that someone can have a look at them before merging them?
@peterg What is your preferred solution/workflow in that situation? How are you hosting development environments?
I have a development bench running on my personal computer, a staging bench on a local server, and a production bench on a commercial/cloud server. I can’t speak for others, but I get the sense that this is a pretty typical setup for people working with Frappe/ERPNext.
On my development bench, switching between feature branches is quick and easy. I never push feature branches to staging or production.
Frappe is very git friendly, but each bench can only host one branch at any particular time. If you need multiple branches to be publicly available simultaneously, you’ll need to have multiple benches running on public-facing servers.
Question: Does that mean that you develop on that server? That would also mean everytime you hit save your changes are visible to your customers? Or how do does your development setup look like?
Yeah no CI environment at all. If I save it Customer can see it. It’s usually on develop branch. If we are OK I migrate it to the main branch where Frappe Cloud watches. So I can update the prod. pretty easily.