Workbench Repository

From ControlTier

Jump to: navigation, search

Workbench's repository supports the storage of packaged artifacts. These artifacts may be the product of an internally developed software build or orignate from a 3rd-party vendor. Workbench provides a graphical and scriptable interface to browsing the content of the repository. The repository is based on Apache Jackrabbit an implementation of standard web technology, called WebDAV, and is combined with the configuration metadata features. All package artifacts are accessible via HTTP and all storage operations can be done via a WebDAV client (eg, GET, PUT, DELETE, MKCOL).

Image:workbench-repository-cursory.png

Package Manager

Built into the Workbench user interface is a tool called the Package Manager, which lets you define and upload packages and search and browse the contents of the repository. The screenshot below shows a listing of matching packages that resulted from a repository search.

Image:workbench-screenshot-packageview.png

Packages are registered as an object in the Workbench CMDB configuration data repository. One of items listed above is expanded to show off the standard metadata for any package. Of course, you can extend this model to include your own attributes. Beyond attributes, you can also declare package relationships. An obvious package relationship is one that shows package-to-package dependencies. Relationships can also be used to group a set of packages based on a application service.

Uses

Package Library

Workbench's Package Manager is a convenient tool to use as a package library for software, or any packaged artifact. You can populate the package repository by directly uploading 3rd-party packages or connect your build process to the package import utilities provided in ControlTier.

Image:repository-package-library.png

Each uploaded packaged artifact is also registered with a set of common metadata that describes version, owner, location, dependencies and installation information.


Package deployment

Combined with CTL, you can deploy packages using Workbench's package repository as a distributed store. Any kind of package can be stored and distributed from the repository. There's already built in suppport for common archive formats like RPM, PKG, JAR, WAR and even Zip and Tar/Gz. You can define your own kinds of package types when the need arises.

Image:repository-package-deployment.png

Workbench provides all the package metadata to CTL package life cycle commands to prepare, get, extract and finish. You can hook in your existing prepare and finish scripts, as well. A chief benefit to using CTL to deploy packages is large scale release management. CTL enables you deploy packages logically, letting you target just the machines where your integrated software system components are distributed.

Of course, any HTTP client can also access packages in the repository. For environments where the CTL software cannot be installed on target machines, you can use wget, curl or any other HTTP client to download files. You can also use the Workbench scripting interfaces to lookup packages and read their metadata.

See the User Guide pages for information on how to use ControlTier for package deployment.

Tracking

Workbench can also be used to track packages. Tracking can be done at a couple of levels. You can use the metadata that describes each package in the repository to define its lifecycle state (eg. it's tested, deployed). You can also use the configuration data store to register where the package is currently deployed and for what component. This gives you convenient roll up views that tell you on what nodes and for which applications a given package is used.

Image:repository-package-tracking.png

Repository Interfaces

Input

Form-based GUI Workbench's Package Manager view lets you add new packages to

the repository, letting you upload files, and define important

metadata describiing the package file.

Image:workbench-screenshot-packageupload.png

Scripted You can script the bulk import of your existing packages into the repository.

Image:workench-scripted-input.png

From build tools As the final step of any build, call the Workbench package import procedure to publish your release artifacts for later deployment.


Output

HTTP The backend store of the package repository is WebDAV enabling any

HTTP client to download packaged artifacts.

Scripted Use CTL to script deployment of uploaded package artifacts.
Personal tools
Development