Artifact Management Managing Maven and other artifacts in Perforce
Jan 14, 2016
Artifact Management
Managing Maven and other artifacts in Perforce
Artifact definition
‘... one of many tangible by-products produced during the development of software.’
Wikipedia: Artifact (software development)
Build Process
Typically compiled source code generated and/or consumed by a Build Process.
e.g. C libraries, Java Jars, Ruby Gems, Python Eggs...
Other artifacts
A Build Process may consume other non source generated Artifacts.
e.g. Docker images, Vagrant boxes, Multi-media files...
Build process
Source Control
1001010011101100
1001010011101100
CI / Build pipeline
ArtifactRepo
3rd party artifacts
Result
Artifact repository
The Artifact repo performs two main roles.o Storage & Distribution o Management of the artifacts
Storage & Distribution
o Store artifacts with meta-datao Created artifacts
• releases, nightly builds, etc...
o Third party artifacts • treated differently for legal / technical
o Proxy for Distribution
Management
o Browse stored artifactso Configure Proxy cachingo Search artifacts• both meta-data and content
o Deploy / upload new artifacts
Combining technology
1001010011101100
1001010011101100
Management
P4P Pull
Distribution
Storage
✔
✔
?
Technology
o Java Spark (light weight framework)
o Jetty (embedded web server)
o P4Search (api for search service)
o P4Java (api for Perforce)
Bootstrap 3, JQuery, Freemarker, DropzoneJS