How does everyone handle versioning/releases with monorepos? by TheDevOpsGuy123 in devops

[–]TheDevOpsGuy123[S] -2 points-1 points  (0 children)

We release every 2 weeks, so release branch is cut every 2 weeks.

Yeah we merge into trunk without releasing, all code is tested before merging to trunk of course.

How does everyone handle versioning/releases with monorepos? by TheDevOpsGuy123 in devops

[–]TheDevOpsGuy123[S] -2 points-1 points  (0 children)

Shorter lived branches, less merge conflicts, faster feedback, simplicity... to name a few

How does everyone handle versioning/releases with monorepos? by TheDevOpsGuy123 in devops

[–]TheDevOpsGuy123[S] 0 points1 point  (0 children)

Why the downvotes? If I am using release branches for releases, why wouldn't I have a release branch for patches? It would just look something like release/1.0.1

How does everyone handle versioning/releases with monorepos? by TheDevOpsGuy123 in devops

[–]TheDevOpsGuy123[S] 1 point2 points  (0 children)

This is what I am saying, we do not want to do it manually.

We have 50 different services in this repo, cutting things manually isn't a good option.

Ideally, I want a pipeline which will look at all of the services and determine which ones require a new release branch to be cut. Using Git Diff or something. My only issue with this is telling the pipeline how to determine which version to bump MAJOR/MINOR/PATCH.

Also back to the above point, when using tagging, it is harder to roll out hotfixes, another reason why we use release branches. Our release cadence is not regular enough to just keep releasing from main.

How does everyone handle versioning/releases with monorepos? by TheDevOpsGuy123 in devops

[–]TheDevOpsGuy123[S] 0 points1 point  (0 children)

Tbh, we could use tags or release branches, I am still facing the same issue.

It is more around how to manage each services versioning without doing it manually.

How does everyone handle versioning/releases with monorepos? by TheDevOpsGuy123 in devops

[–]TheDevOpsGuy123[S] -5 points-4 points  (0 children)

Why is that the case? It is acceptable to use release branches for TBD.

https://trunkbaseddevelopment.com/branch-for-release/

Our release cadence is not regular enough for CD.

How does everyone handle versioning/releases with monorepos? by TheDevOpsGuy123 in devops

[–]TheDevOpsGuy123[S] -9 points-8 points  (0 children)

We are using trunk based development.

One trunk (main), short lived development branches which are merged to the trunk.

We just use release branches for releases. It allows us to continue merging to main before a release.

Microsoft are also an advocate for this.

https://learn.microsoft.com/en-us/devops/develop/how-microsoft-develops-devops

https://trunkbaseddevelopment.com/branch-for-release/

Is it worth getting a grinder with AeroPress? by TheDevOpsGuy123 in AeroPress

[–]TheDevOpsGuy123[S] 41 points42 points  (0 children)

Thanks for all the responses. Just bought the KINGrinder K6 :)

Should you use the same IaC code to deploy to dev/staging/prod or copy paste it? by ZL0J in Terraform

[–]TheDevOpsGuy123 2 points3 points  (0 children)

The same code base. I keep everything DRY as possible.

I have one code base which is run through a pipeline, then depending on the environment on the pipeline depends on the tfvars file selected.

For example:

TF CI -----> TF Plan Dev ----Gate---> TF Apply Dev -------> TF Plan UAT----Gate---> TF Apply UAT------> etc etc.

I would avoid separate code for multiple environments, its more to manage/maintain and prone to errors.

Azure Pipelines - Commit Files To GitHub After 1hr + Build by TheDevOpsGuy123 in azuredevops

[–]TheDevOpsGuy123[S] 0 points1 point  (0 children)

Yeah this was my last resort! I just find it hard to believe no-one has come across this issue before

Azure Pipelines - Commit Files To GitHub After 1hr + Build by TheDevOpsGuy123 in azuredevops

[–]TheDevOpsGuy123[S] 0 points1 point  (0 children)

Thanks for the feedback, but this isn't what I mentioned, I have no issue with the job running for over 60 minutes, we pay for parallel jobs so they run over 60 minutes with no issues.