Information Technology Reference
In-Depth Information
This step is gated based on whether package creation happened successfully. A simple
package format would be a Zip or tar file that contains all the files that will be installed
plusaninstallationscript.Whentheinstallerruns,itreadsthepackage,extractsallthefiles,
and then runs the installation script. A more detailed description appears in the “Software
Repositories” chapter of the third edition of The Practice of System and Network Adminis-
tration ( Limoncelli, Hogan & Chalup 2015 ) .
Softwarepackagesshouldbedesignedtoruninanyenvironment.Donotcreateseparate
packages for the testing environment and the production environment. Or worse, do not
build the package for testing, then after testing rebuild it for the production environment.
Production should run packages that were tested, not packages that are similar to ones that
were tested.
What Is a Software Package?
A software package is a container. This single file contains everything needed to
install an application, patch, or library. Packages typically include the binary ex-
ecutables to be installed, any related data files, configuration data, and machine-
interpretable instructions describing how to install and remove the software. You
may be familiar with file formats such as Zip, UNIX tar , and cpio . Such files
contain the contents of many smaller files plus metadata. The metadata as a whole
is like a table of contents or index. It encodes information needed to unpack the
individual files plus file ownership, permissions, and timestamps.
9.3.5 Register
During the register step, the package is uploaded to the package repository. At this point
the package is ready to be handed off to the deploy phase. This step is gated based on
whether upload is a success.
9.4 Build Console
The build console is software that manages all of the build steps, making it easy to view
results and past history, and to keep statistics on success rates, the amount of time the pro-
cess takes, and more. Build consoles are invariably web-based tools that provide a dash-
board to view status as well as control panels to manage the processes. There are many
such tools, including Hudson, Jenkins CI, TeamCity, Go Continuous Delivery, and Atlassi-
an Bamboo.
Once you find a tool that you like, you will find yourself wanting to use it with
everything. Therefore, when selecting such a tool, make sure it operates with the tools you
Search WWH ::




Custom Search