Background to packages
A package is a combination of metadata, configuration, and software that is prepared in a way that a package management tool can use to properly and reliably install software and related configuration data on a computer. Some examples of package management tools include:
Packages are useful because their:
- Version information helps keep software up to date
- Metadata offers visibility in what's installed to which locations and why
- Software installations are reproducible in different environments.
Package creation tools
There are many tools for creating packages. Some of these tools are provided directly by Linux distributions, while many other third-party packaging tools are also available.
Some popular package creation tools include:
- rpmbuild (CentOS) for RPM packages. Also, refer to the Packaging Tutorial: GNU Hello for Fedora
- debuild for deb packages
- distutils for Python packages
- gem for RubyGems packages
Some advanced package creation tools include:
- Mock, a chroot-based system for building RPM packages in a clean room environment
- pbuilder, a chroot-based system for building deb packages in a clean room environment. Useful tips about pbuilder can also be found in pbuilder's user manual
- git-buildpackage, a set of scripts that can be used to build deb packages directly from git repositories
- fpm, a third-party tool that allows users to quickly and easily make a variety of packages (including RPM and deb packages)
- PackPack, a simple tool to build RPM and Debian packages from git repositories.
Next steps
Learn more about how:
- Buildkite Package Registries works through this step-by-step Getting started tutorial.
- To work with registries in Manage registries.
- To manage access to your registries in Access controls.
- To configure your own private storage for Buildkite Package Registries in Private storage.