I have a project with several small batch jobs. Each batch job is completely independent of the other (connect to different S3 codes or REST services using a different file structure / REST structure). It will take several months to create all of these batch jobs. Ideally, I would like to release each batch job independently of the others. Especially when it comes to releasing a fix. Faster and easier to issue one batch job in an emergency than to force reissue all batch jobs (and deal with work).
The biggest hurdle is now git. Should I:
- Create a new git repository for each batch job
- Create one monolithic repo for all jobs or
- Create a repo for some subgroup of batch jobs
I am inclined towards option 1, but the concept of dozens of git repositories seems overwhelming. There is a common repo, all tasks will be imported. If I need to change something in the general repo, I have to do a git dance for each batch job. However, if I use everything in a monolithic repo, I either have to have dozens of “main” branches, or reissue every work every time.
Is it possible to use micro git repositories and use some kind of tool to perform simple operations (for example, git is a clone of all repositories)? Maybe gradle can do it somehow? Is it better to just use a monolithic repo and have an ugly release process and branching structure?
User1 source
share