Skip to content

Latest commit

 

History

History
53 lines (32 loc) · 2.52 KB

README.md

File metadata and controls

53 lines (32 loc) · 2.52 KB

Jenkins Shared Library

The Jenkins shared library implements common functions used by Jenkins workflows in this repository.

Detecting Docker Agent

OpenSearch and OpenSearch Dashboards manifests contain a ci section with the docker image to use for building the manifest. This is loaded and published from detectDockerAgent to be used as agent arguments.

All-In-One Build

A typical all-in-one build consists of build, assemble and upload, implemented in buildAssembleUpload.groovy.

Cross-Platform Build

A cross platform build divides the all-in-one build into steps that can be executed across multiple stages. For example, OpenSearch dashboards builds on an x64 docker image, but assembles on an arm64 docker image for an arm64 build.

  1. buildArchive generates a manifest lock, calculates its SHA using getManifestSHA, and checks against previously built artifacts, before building and archiving the output to be used in a subsequent step.
  2. archiveAssembleUpload extracts previously archived build output and manifest lock, assembles a distribution and uploads it.

Building Docker Images

See buildDockerImage.

Avoiding Rebuilding

A SHA of the manifest lock can be generated using getManifestSHA, and checking it against previously published artifacts. If a build is consider released, its manifest SHA can be uploaded with buildUploadManifestSHA.

Publishing Notifications

See publishNotification.

Cleanup

See postCleanup.

Running Integration Tests

See runIntegTests.

Uploading Test Results

See uploadTestResults.