What is artifact management?
WHAT IS A SOFTWARE ARTIFACT?
An artifact is any software asset that is connected to or part of a software project. Artifacts are normally binary packages and are used to characterize or describe the function, architecture, and design of the application. Common types of artifacts are images, executables, data models, libraries, use cases and of course the compiled application binary.
ARTIFACT MANAGEMENT OPTIONS
These artifacts need to be stored and shared with all the developers on that project. Some possible solutions include a shared drive, a source control management tool or an artifact management repository. A shared drive has limitations including limited version control and no artifact deployment capability. A source control management tool is really only designed for managing source code text files and not complex artifacts like large binaries or Docker images.
QUALITY, CONSISTENCY AND AUDITABILITY
All of the artifacts need to be consistently managed, versioned, and deployed across development teams and sometimes across multiple sites, to ensure quality, reliability and auditability. This is where things get tough to do without the right tool. An artifact repository is specifically designed to house, manage, version, and deploy different types of artifacts for software builds from a central location, and offers the best solution to manage an infinitely expanding number of artifacts.