/sdp-libraries

The Solutions Delivery Platform Pipeline Libraries for the Jenkins Templating Engine

Primary LanguageGroovyOtherNOASSERTION

SDP Pipeline Libraries

This repository contains Booz Allen’s pipeline libraries that integrate with the Jenkins Templating Engine.

If you want to learn more, the best place to get started is the documentation.

Usage

In order to use the different libraries in this repository, you can configure this repository as a library source, for a detailed example of how to do this you may refer to this lab: https://boozallen.github.io/sdp-docs/learning-labs/1/jte-the-basics/3-first-libraries.html#_configure_the_library_source it is recommended that rather than using the master branch you pin your library source to a particular github release such as: https://github.com/boozallen/sdp-libraries/tree/release/2.0/libraries [like 2.0]. This helps to ensure that you have greater control in version management.

Also ensure that in addition to whichever library you wish to use you include the "sdp" library. This helps to resolve a number of dependency errors you may otherwise face.

Configuring the sdp library

As a dependency for every other library, it is important that the sdp library not only be included but also configured properly. For instructions on how to configure this library, please reference this guide: https://boozallen.github.io/sdp-docs/sdp-libraries/libraries/sdp.html

Repository Structure

Libraries

The libraries themselves can be found under the libraries directory. Each subdirectory corresponds to the name of the library, and the basename of the groovy files held within are the steps contributed by that library.

Unit Tests

The SDP Pipeline Libraries leverage Jenkins Spock as a unit testing framework for testing the library steps.

Each library that has unit tests has a subdirectory under test containing the individual Specification files for the library.

To execute the unit tests, run make test.

Contributing

We accept contributions via fork-based development workflow.

Documentation

Antora is used as the documentation framework. For each library you’ll find an AsciiDoc file under docs/modules/ROOT/pages that outlines the steps contributed by the library, how to configure the library in your pipeline configuration file, what types of artifacts are generated, and any external dependencies the library may have.

To build the documentation run make docs. You can then open docs/html/index.html to view the generated documentation.