Uploaded image for project: 'Nuxeo ECM Build/Test Environment'
  1. Nuxeo ECM Build/Test Environment
  2. NXBT-2902

Provide a maven-java11-nuxeo Jenkins X builder

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Jenkins X

      Description

      To allow the Nuxeo Platform build, aka the nuxeo GitHub repository.

      We need at least:

      • A Dockerfile describing the Maven container Docker image, based on the default one gcr.io/jenkinsxio/builder-maven-java11 and including the conversion tools.
      • A Jenkinsfile for the pipeline building the builder.

      -------------------------------------------------

      See https://github.com/nuxeo/nuxeo-jenkins-x-builders

      In particular:

      Motivation to have a mono-repository for several builders (at the moment: "builder-maven-java11-nuxeo" and "builder-nodejs-njx"):

      • Simpler to maintain (shared Jenkinsfile, scripts, skaffold.yaml, ...).
      • Simpler to release: one release and same versioning for all the builders.
        Though releasing all builders for just a bug fix in one of them seems overkill, since most of the upgrades will be implied by a "jenkinsxio/builder-base" image upgrade, it makes sense to upgrade all the builders at one go.
      • Ensures that all the builders are built on the same Jenkins X instance, thus with the same versions of the build tools such as jx, skaffold, etc.

      Next steps:

      • Use a "jenkins" user in the agent to not run the pipelines as root, see NXBT-2892.
      • Currently the builders are built in the "platform" team's Jenkins X instance.
        We should build the builders, if generic enough, on a dedicated Jenkins X instance so that:
        • The version of the Jenkins X platform (and related tools, such as jx, skaffold, ...) is managed independently from a given team (fixed, then upgraded when wanted).
          In fact, the base Jenkins X image version is hardcoded and shared between all builders, see for instance the builder-maven-java11-nuxeo Dockerfile. We should have an automatic way to upgrade all our builders depending on the deployed Jenkins X platform version.
        • The builders don't get built by each team's Jenkins X instance.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 4 days, 4 hours
                  4d 4h