Skip to content

edgeXReleaseDockerImage

Overview

Shared library with helper functions to manage docker image releases to Nexus release and DockerHub.

Required Yaml

Name Required Type Description and Default Value
dockerImage true str Determines whether or not to trigger this function.
docker true array Array of docker images to release.
docker.image true str Docker image that is being release.
docker.destination true array Array of destination registries where to release the image to.

Functions

  • edgeXReleaseDockerImage.getAvaliableTargets: Returns a list of valid release registries.
  • edgeXReleaseDockerImage.isValidReleaseRegistry: Validates registry to ensure we are not pushing images to unknown registries.
  • edgeXReleaseDockerImage.publishDockerImages: Iterates through all release registry targets and pushes images based on validating image exists.
  • edgeXReleaseDockerImage.publishDockerImage: Pulls, re-tags and pushes source image to destination registry.
  • edgeXReleaseDockerImage.validate: Validates release yaml input before any automation is run.
  • edgeXReleaseDockerImage.imageExists: Checks docker registry to see if image exists.

Usage

Sample Release Yaml

version: 1.1.2
releaseStream: main
dockerImage: true
docker:
  - image: nexus3.edgexfoundry.org:10004/sample-service
    destination:
      - nexus3.edgexfoundry.org:10002/sample-service
      - docker.io/edgexfoundry/sample-service
  - image: nexus3.edgexfoundry.org:10004/sample-service-arm64
    destination:
      - nexus3.edgexfoundry.org:10002/sample-service-arm64
      - docker.io/edgexfoundry/sample-service-arm64

Groovy Call

edgeXReleaseDockerImage(releaseYaml)