Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-29684

Make the nuxeo Docker image build faster for developers

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 11.3, 2021.0
    • Component/s: Docker Image

      Description

      Currently, building the nuxeo/nuxeo image takes a long time if the server ZIP has been rebuilt locally.

      This is because we're relying on 2 images:

      • nuxeo/slim: base image including CentOS, JDK, Nuxeo server
      • nuxeo/nuxeo: based on nuxeo/slim, adding some software such as ImageMagick, LibreOffice, ghostscript, etc.

      When rebuilding a server ZIP, to have a fresh nuxeo/nuxeo image, we need to:

      • Rebuild nuxeo/slim: here the Docker cache works fine since only the steps copying the server ZIP are invalidated.
      • Rebuild nuxeo/nuxeo: since the base image has changed, the whole step running yum update && yum install... to install the converters gets invalidated, thus replayed, which is overkill.

      We should better rely on the Docker layer cache system and:

      • Get rid of the nuxeo/slim image: the initial goal was to have an image without the converters, but in fact, everyday usage shows that it is a pain to have an image without the converters since the server keeps complaining about them in the logs.
      • Have a single image where all the OS packages are installed within the same yum install command and the server ZIP is copied at then end of the Dockerfile.

      This way, building this single nuxeo/nuxeo image will be fast no matter if the server ZIP has been rebuilt locally.

        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 - 2 hours
                  2h