void call()

in vars/buildDockerImage.groovy [1:46]


void call(Map args = [:]) {
    git url: 'https://github.com/opensearch-project/opensearch-build.git', branch: 'main'

    def lib = library(identifier: 'jenkins@20211123', retriever: legacySCM(scm))
    String manifest = args.manifest ?: "manifests/${INPUT_MANIFEST}"
    def inputManifest = lib.jenkins.InputManifest.new(readYaml(file: manifest))

    String filename = inputManifest.build.getFilename()
    String x64TarGz = env.ARTIFACT_URL_linux_x64
    String arm64TarGz = env.ARTIFACT_URL_linux_arm64

    echo "filename: ${filename}"
    echo "x64TarGz: ${env.ARTIFACT_URL_linux_x64}"
    echo "arm64TarGz: ${env.ARTIFACT_URL_linux_arm64}"

    if (x64TarGz == null || arm64TarGz ==  null) {
        echo 'Skipping docker build, one of x64 or arm64 artifacts was not built.'
    } else {
        dockerBuild: {
            build job: 'docker-build',
            parameters: [
                string(name: 'DOCKER_BUILD_GIT_REPOSITORY', value: 'https://github.com/opensearch-project/opensearch-build'),
                string(name: 'DOCKER_BUILD_GIT_REPOSITORY_REFERENCE', value: 'main'),
                string(name: 'DOCKER_BUILD_SCRIPT_WITH_COMMANDS', value: [
                        'id',
                        'pwd',
                        'cd docker/release',
                        "curl -sSL ${x64TarGz} -o ${filename}-x64.tgz",
                        "curl -sSL ${arm64TarGz} -o ${filename}-arm64.tgz",
                        [
                            'bash',
                            'build-image-multi-arch.sh',
                            "-v ${inputManifest.build.version}",
                            "-f ./dockerfiles/${filename}.al2.dockerfile",
                            "-p ${filename}",
                            "-a 'x64,arm64'",
                            "-r opensearchstaging/${filename}",
                            "-t '${filename}-x64.tgz,${filename}-arm64.tgz'",
                            "-n ${BUILD_NUMBER}"
                        ].join(' ')
                    ].join(' && ')),
                booleanParam(name: 'IS_STAGING', value: true)
            ]
        }
    }
}