Skip to content

Unable to create multiple docker build tasks with single build.gradle file #4384

Open
@krishnakekan619

Description

@krishnakekan619

Environment:
development

  • Jib version: 3.3.1
  • Build tool: Gradle
  • OS: ubuntu

Description of the issue:
I have two application with same root project and wanted to create two jib build tasks with build.gradle file but unable to achieve that
error: cannot create jib tasks as dorectly extending abstracttask is not supported
Expected behavior:

Steps to reproduce:

  1. added two jib tasks for container code in build.gradle
  2. with jenkins stage :: rungradle(build, jib, ....
  3. fails on above mentioned error

jib-gradle-plugin Configuration:

plugins {
    id 'java'
    id 'com.google.cloud.tools.jib' version '3.1.1'
}


repositories {
    mavenCentral()
}

dependencies {
    // your dependencies here
}

jibdevapp1 {
    from {
        image = 'gcr.io/distroless/java:11'
        auth {
            username = 'your-source-username'
            password = 'your-source-password'
        }
    }
    to {
        image = 'your-registry/your-image-name'
        auth {
            username = 'your-target-username'
            password = 'your-target-password'
        }
    }
    container {
        entrypoint = ['java', '-cp', '/app/classes:/app/libs/*', 'com.example.Main']
        creationTime = 'USE_CURRENT_TIMESTAMP'
        format = 'Docker'
    }
    extraDirectories {
        paths = ["${buildDir}/optf"]
        permissions = [
            '/optf/scripts/start.sh': '755'
        ]
    }
}
jibdevapp2 {
    from {
        image = 'gcr.io/distroless/java:11'
        auth {
            username = 'your-source-username'
            password = 'your-source-password'
        }
    }
    to {
        image = 'your-registry/your-image-name'
        auth {
            username = 'your-target-username'
            password = 'your-target-password'
        }
    }
    container {
        entrypoint = ['java', '-cp', '/app/classes:/app/libs/*', 'com.example.Main']
        creationTime = 'USE_CURRENT_TIMESTAMP'
        format = 'Docker'
    }
    extraDirectories {
        paths = ["${buildDir}/optf"]
        permissions = [
            '/optf/scripts/start.sh': '755'
        ]
    }
}
 task jibDockerBuild {
   group = "jib"
   description = "Build all Docker images"
   dependsOn 'jibdevapp21', 'jibdevapp2'
}

Log output:
Error::
cannot create task jibdevapp1 as directly extending abstractTask is not supported
Let me know if there is any workaround for this, i have also tried to create function of jib and provide the both images data as variable in loop but it still fails on the same error.
Additional Information:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions