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 CI / Build pipeline Artifact Repo 3 rd 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-data o Created artifacts releases, nightly builds, etc... o Third party artifacts treated differently for legal / technical o Proxy for Distribution
Management o Browse stored artifacts o Configure Proxy caching o Search artifacts both meta-data and content o Deploy / upload new artifacts
Combining technology Management P4PPull 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