Docs

Why use PKG Deploy

Manually deploying code can be a pain. Copying files around and making sure you do each of the deploy steps is a lot of work and all of those manual commands are prone to human error.

We love packages

The Linux ecosystem depends on packages; they are used everywhere and are at the heart of Linux. This is because packages are:

  • Reproducible - The same code is deployed to each machine in the same way
  • Automated - A single install command can install multiple dependencies and deploy large and complex software systems
  • Light Touch - Commands to install, upgrade and remove packages are all made available to you, reducing human error and risk. Rollback is also handled for you if an install fails.
  • Natively supported - APT and YUM package managers come baked into most of the most popular Linux distributions
  • Understood - Linux packaging has been used for years as the main way to install software on Linux
  • Everywhere - Packages are installed on millions of Linux servers every day
  • Secure - If signed with GPG users can verify the authenticity of any content they wish to use.

The issue with packages

Without prior knowlege, learning how to create packages can be very difficult and time consuming.

Different Linux operating systems use different tooling to create packages and each has its own long, complex and sometimes confusing documentation. This means to built even the most simple package you need to spend ages learning new tools and concepts which takes time away from you building your own great software.

If you try and build anything even slightly more complex you then need to be aware of a large number of potential side effects, gotchas and quirks or things may not work as expected.

Once you have finally built a package after days of combing through documents, README's and tutorials you then need to host your packages in a way that is compliant with your OS's package manager of choice so that you can install the package without having to manually copy it everywhere.

Until now these downsides have often outweighed their benefits.

Our way - an easier way

PKG Deploy wants to remove all of this complexity in order to make your life easier, save you time and let you get on with building software instead of spending time installing it.

  • Simple - We have boiled down all of the complex build instructions into a simple and easy to create configuration file
  • Automated - Package creation and hosting can be triggered automatically via the Github UI, by pushing a git tag or via your CI / CD pipeline
  • Easy to deploy - Packages are automatically uploaded to a private package repository meaning they can be installed via YUM or APT in minutes
  • Flexible - Multiple packages for different Linux distributions can be created in the same release
  • Secure - Our package repositories are protected by access keys so only you can see and install the packages you create
  • Verifiable - The packages we create and our package repositories are all signed so you can be sure the data you get is coming from us
  • Configuration with code - Your code and how it's deployed need to be in sync. Keep your code and the way you configure your application in the same place