job("Docker") { host("Build and push a Docker image") { shellScript { content = """ export DOCKER_CLI_EXPERIMENTAL=enabled; docker buildx create --name boxites || true 2>/dev/null; docker buildx use boxites; docker buildx build \ --platform linux/arm64,linux/amd64 \ --tag boxi.registry.jetbrains.space/p/boxit/containers/boxit-elasticsearch:0.0.${"$"}JB_SPACE_EXECUTION_NUMBER \ --push \ .; """.trimIndent() } // dockerBuildPush { // // by default, the step runs not only 'docker build' but also 'docker push' // // to disable pushing, add the following line: // // push = false // // // path to Docker context (by default, context is working dir) // // context = "backend" // // // path to Dockerfile relative to the project root // // if 'file' is not specified, Docker will look for it in 'context'/Dockerfile // //file = "docker/config/Dockerfile" // // // build-time variables // //args["HTTP_PROXY"] = "http://10.20.30.2:1234" // // // image labels // //labels["vendor"] = "mycompany" // // // to add a raw list of additional build arguments, use // // extraArgsForBuildCommand = listOf("...") // // // to add a raw list of additional push arguments, use // // extraArgsForPushCommand = listOf("...") // // platform = "linux/arm64 linux/arm64" // // // image tags // tags { // // use current job run number as a tag - '0.0.run_number' // +"boxi.registry.jetbrains.space/p/boxit/containers/boxit-elasticsearch:0.0.${"$"}JB_SPACE_EXECUTION_NUMBER" // } // } } }