The Jenkins shared library implements common functions used by Jenkins workflows in this repository.
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.
A typical all-in-one build consists of build, assemble and upload, implemented in buildAssembleUpload.groovy.
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.
- 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.
- archiveAssembleUpload extracts previously archived build output and manifest lock, assembles a distribution and uploads it.
See buildDockerImage.
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.
See publishNotification.
See postCleanup.
See runIntegTestScript.
See uploadTestResults.