HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

How does one build a build pipeline with versioned build artifacts?

Submitted by: @import:stackexchange-devops··
0
Viewed 0 times
withartifactsonedoeshowversionedbuildpipeline

Problem

I'm not sure quite how to phrase this question. I'd like to learn either by answer here or sharing a reference to read from: How do I build a pipeline with versioned build artifact?

I've inherited an established Jenkins build infrastructure that I recognize needs to change. This is especially evident because we want to move into a modern build approach with branches (dev, main, etc.).

This is basically how our builds work

lib-A    is created first
lib-B    is created next
lib-C    is the last library created
prod-DA  uses lib-A
prod-EC  uses lib-C
prod-FAB uses both lib-A and lib-B


Our current build infrastructure is what I'd describe as a dev infrastructure. In that it always uses latest.

When lib's A, B and C are created they are dropped into a shared folder to be used by everyone else.

When prod's DA, EC and FAB need to link with the library they just pull from the shared folder.

This is what I inherited. It's adequate for a single branch, riding-latest build system.

Is there a resource, pattern, book, website or toolset to help me learn how to change this to a versioned artifact scenario? Or how to convert to a mechanism that will scale and support branching?

I don't really even know what to call this, I'm really wanting to learn what you have to share.

Thank you for your patience.

Solution

I know this question was asked a long time ago but I still want to answer it.

How products are build, versioned and delivered depend highly on the combination of the used tools, the infrastructure and the processes that have been established in your company.
This also means there is no general way to it. However there are of course best practices like continuous integration/continuous delivery, nightly builds, common branching patterns etc.

In your case I would start with common branching patterns for the used version control system (svn, git, etc.) and think about how to support versioned artifacts .
Next step is to get the build management tool (Maven, Gradle, Make, Cmake, etc.) build the specified version.

If these two parts are working you can think about how to automate it with jenkins.

One last thing: Your question was very general. I guess if you ask more specific questions like "How do I combine maven and git for building versioned artifacts" you get more answers.

Context

StackExchange DevOps Q#12552, answer score: 1

Revisions (0)

No revisions yet.