Information Technology Reference
In-Depth Information
Selecting specific versions like this is generally done for production, beta, and early ac-
cess environments, as mentioned in Section 9.1.1 . However, development and testing en-
vironments may simply use the latest release: A-1.3, B-1.4, and C-1.3.
How packages are marked for particular environments depends on the package repos-
itory system. Some have a tagging mechanism, such that only one version of a particular
package can have the “production” tag at a time. There may be many packages, each with
one version designated as the production version. There is usually a virtual tag called
“latest” that automatically refers to the newest version.
Some repository systems use a technique called pinning . A package is pinned at a par-
ticular version, and that version is always used even if newer versions are available. While
tags are usually global, pinning is done at the environment level. For example, testing and
live environments would each have packages pinned at different versions.
Other package repository systems work very differently. They can store only one ver-
sion of a package at a given time. In this case, there will be multiple repositories and pack-
ages will be copied between them. For example, all new packages will be put in a repos-
itory called “development.” When the package is ready to be used in the testing environ-
ment, it is copied to a repository called “testing.” All machines in the testing environment
point at this repository. If the package is approved for use in production, it is copied to a
third repository called “production”; all the machines in the production environment read
packages from this repository. The benefit of this kind of system is that the production en-
vironment cannot accidentally install unapproved packages because it does not know they
exist.Nevertheless,keepingahistoryofpastpackageversionsismoredifficult,sometimes
done by some kind of separate archive subsystem.
10.1.2 Installation
In the installation step, the packages are copied to machines and installed. This is done by
an installer that understands the package format. Most operating systems have their own
installer software, each generally tied to its native package repository system.
Apackagecanincludescriptstorunbeforeandafterinstallation. Theactualinstallation
process involves running the pre-install script, copying files from the package to their final
destination,andthenrunningthepost-installscript.Pre-installscriptsdotaskslikecreating
directories, setting permissions, verifying preconditions are met, and creating accounts and
groupsthatwillownthefilesabouttobeinstalled.Post-installscriptsdotaskslikecopying
a default configuration if one doesn't already exist, enabling services, and registering the
installationwithanassetmanager.Post-installscriptscanalsoperformsmoketests,suchas
verifying the ability to access remote services, middleware, or other infrastructure services
such as databases.
Search WWH ::




Custom Search