Here is the design overview of integrating TeamForge, a full ALM suite with binary repository
managers.
An important aspect of the end-to-end development lifecycle is the creation and storage of
software packages that are often binary artifacts. In the Java world, these are usually
reusable jars that are used by other projects. Binary artifact repository managers are
software systems that manage, version, and store binary artifacts. Examples of such repository
managers are
JFrog
Artifactory, and Sonatype Nexus.
What is a binary artifact repository?
A binary artifact repository stores binary artifacts along with the metadata in a defined
directory structure, conceptually similar to a source code repository. The metadata
describes the binary software artifact and includes information such as dependencies,
versioning, and build promotions. Maven is the widely used tool for dependency management,
especially for Java projects. Maven represents dependencies in an XML file called Project
Object Model (POM). Other tools can use similar approaches to store documentation archives,
source archives, Flash libraries and applications, and Ruby libraries.
How does a binary artifact repository manager help?
Some of the advantages of using a binary artifact repository manager are:
- Dependency management: Nexus
can act as a Maven repository. Maven is a widely used Java dependency management and
build tool.
- Efficient builds: With the help of a binary artifact repository manager, you
can save the download time from public repositories as the artifacts once downloaded are
cached locally.
- Predictability and release stability: Once published onto a release repository,
the binary artifact and metadata do not change. It ensures predictable and repeatable
builds.
- Control and audit: If you want to standardize libraries that are used in your
software, the binary artifact repository helps track the versions of your software
components. Also it enables you to audit the licenses of your third-party components
used in your software.
- Promotes collaboration: The binary artifact repository enables you to share
components with other teams.
How to integrate Nexus with
TeamForge?
TeamForge supports
integration with Nexus in both the ALM and
SCM modes. For the Nexus and Nexus professional versions 2.9, 2.10, and 2.11, the Nexus integration has been tested by CollabNet.
Perform the following to integrate
Nexus with
TeamForge:
- Download and install Nexus OSS if you
do not have a Nexus instance
running.
- Install the CollabNet
Nexus Plugin.
- Change your build system and use the CollabNet supplied Maven deploy plugin for
end-to-end traceability.
- Setup TeamForge
Orchestrate activity source to provide your
teams with end-to-end visibility from requirements to source code all the way to
deployed binary artifacts.
Installing TeamForge
Nexus plugin
You need to have
the following information handy before you start off with the installation:
- Installation path of the running Nexus
instance.
- URL of TeamForge.
- Credentials of the TeamForge site admin.
- A suitable name for your Nexus instance;
the Binaries App in TeamForge refers to this
name.
You must have a
Nexus instance running
for the integration. If you are upgrading from an earlier version of the plugin, ensure that
the old plugin is completely removed from the directory and the new plugin is unzipped on the
same directory before you restart the
Nexus
instance.
Installation: To have the Nexus instance available for your TeamForge projects' use, perform the following
steps:
- Download the
CTF-Nexus-Integration-Plugin-2.0.zip file.
- Unzip the bundle into the plugin repository folder of your running Nexus’s working directory (sonatype-work).
- Change directory into CTF-Nexus-Integration-Plugin-2.0/util
folder.
- Run java -jar installer.jar -e.
- Restart Nexus as instructed by the
installer.
- Run java -jar installer.jar -i.
Accessing Nexus through TeamForge: You have to introduce a TeamForge project context in Nexus and allow authentication to use TeamForge credentials for logging into Nexus directly. Accessing Nexus through the TeamForge project toolbar provides you with Single
Sign-on (SSO). It logs you into Nexus
automatically with the project context. You can allow RBAC using TeamForge roles.
Authentication policies
Your site administrator can enable the
integration with the following two authentication mechanisms:
- TeamForge and native Nexus login (default)
- TeamForge only
In both the cases, you can use your TeamForge credentials to log on to Nexus. If your
Site Administrator has used the default setup, you can use your pre-existing Nexus credentials.
Roles and
permissions
Following are the two administrative privileges in Nexus:
- Nexus admin (Site Admin in TeamForge will be a Nexus admin)
- Project admin (permissions to create, update, and delete binary artifact
repositories.)
For all the other users, privileges are based on the
TeamForge RBAC setup.