Binary repository manager: Difference between revisions

Content deleted Content added
Kharnagy (talk | contribs)
reorganization
Kharnagy (talk | contribs)
m Added inline citation from primary sources
Line 14:
* Packages installed
== What is a binary repository? ==
A binary repository is a [[software repository]] for binarypackages, artifacts and their corresponding metadata. It can be used to store binaries produced by an organization itself, such as releases and nightly builds, or for third party binaries which must be treated differently for both technical and legal reasons.
 
=== Artifacts and Packages ===
Packages and Artifact inherently mean different things. Artifacts are simply an output or collection of files (ex. JAR, WAR, DLLS, RPM etc.) and one of those files may contain metadata (eg. POM file). Whereas packages are single archive file of a well-defined format (ex. [[NuGet]]) that contain files appropriate for the package type (ex. DLL, PDB).<ref name="sharedlibrary">{{Cite journal| last = Chris | first = Tucker | title = Optimal Package Install/Uninstall Manager | publisher = UC San Diego | date = 2007-03-15| page=1 | url = http://cseweb.ucsd.edu/~lerner/papers/opium.pdf | accessdate = 2011-09-14}}</ref> Many artifacts result from builds but other types are crucial as well.. Package are essentially one of two things: a library or an application. <ref>{{Cite web| title=Linux repository classification schemes | url=http://braintickle.blogspot.com/2006/01/linux-repository-classification.html|publisher=braintickle.blogspot.com | accessdate=2008-03-01}}</ref>
An artifact is the output of any step in the development process. Many artifacts result from builds but other types are crucial as well. Examples of common binary artifact types include software packages such as:
* ZIP or tarball files
* RPM or DEB packages (Linux)<ref>{{cite web|title=Repositories|url=https://help.ubuntu.com/community/Repositories|website=Ubuntu Documentation|accessdate=19 January 2015}}</ref>
* JAR, WAR, and EAR packages (Java)
* Gems (Ruby)
* DLLs (Windows)
* Docker Image layers
* Perl modules
* Python packages
 
Compared to source files, binary artifacts are often larger by orders of magnitude, they are rarely deleted or overwritten (except for rare cases such as snapshots or nightly builds), and they are usually accompanied by lots of metadata such as id, package name, version, license and more.