It’s been a while since I worked with JX, and I am getting caught up on the beta 3.0. I have read the documentation and would like help understanding the logical data model for projects, git repos, and apps.
Does 1 git repo align to 1 Jenkins X project?
Is a Jenkins X project logically synonymous with an app?
May I have multiple apps within 1 project?
If I have multiple repos for my app, how do I set up Jenkins X for GitOps? (e.g., a different team works on the frontend and another on the backend for my e-commerce store)
On another topic, how may I contribute documentation updates? Is there an official proposal template for this, or do I use the suggestion via GitHub Issues?
Hey Jenn! long time no see. I’ve been meaning to checkout Waypoint too btw…
We’ve tried to drop the name ‘project’ as its kinda confusing; we tend to just think of repositories. A repository can have CI/CD and can be a library, a microsrevice, a helm chart, a bunch of stuff or a full k8s cluster managed via GitOps.
Yeah. We tend to think of apps as things which can be deployed in kubernetes; so they usually have 1 or more images and 1 or more helm charts.
Yes. We prefer an app to generate a helm chart with 1 or more components so its easy to deploy anywhere but a repository could make zero to many of them really.
An app can also include libraries / binaries / base images too so may well be spread across many repositories.
There are many options in how to slice and dice this; it depends a little on the team. One option is the front end and back ends generate artefacts (libraries, binaries, images, helm charts) and there’s a composite helm chart including all the parts + images in a single deployment. Sometimes you may want each microservice that makes up an entire application to be released independently as images / charts and then composed together inside an environment. Sometimes a helm chart is this consolidation of parts. It mostly depends on how the team wants to work and how granular you want your releases to be