Skip to content

Jakarta Release Stages

Release Architecture

Pre-LTS Flow

Existing LTS FLow

Post-LTS Flow

Existing LTS FLow

C Based Services

Release Flow

PR Fixes (Regular Dev Process)

PR is open in fork as normal, but target branch will be LTS (jakarta) branch

  • [Existing] User open's PR as normal for fix, etc https://jenkins.edgexfoundry.org/blue/organizations/jenkins/edgexfoundry%2Fdevice-coap-c/detail/PR-27/7/pipeline/213
  • 🆕 Pipeline will detect the merge target is an LTS branch and will use released ci build image from the release process rather than build a ci image on the fly
  • prepBaseBuildImage() was the perfect abstraction to do this!

    docker pull nexus3.edgexfoundry.org:10002/device-coap-c-builder-x86_64:{GIT SHA}
    docker tag nexus3.edgexfoundry.org:10002/device-coap-c-builder-x86_64:{GIT SHA} ci-base-image-x86_64
    
    docker pull nexus3.edgexfoundry.org:10002/device-coap-c-builder-arm64:{GIT SHA}
    docker tag nexus3.edgexfoundry.org:10002/device-coap-c-builder-arm64:{GIT SHA} ci-base-image-arm64
    

Main Branch (Regular Dev Process)

PR open against the main branch, no regressions introduced: https://jenkins.edgexfoundry.org/blue/organizations/jenkins/edgexfoundry%2Fdevice-coap-c/detail/PR-29/2/pipeline


Go based services

Release Flow

PR Fixes (Regular Dev Process)

PR is open in fork as normal, but target branch will be LTS (jakarta) branch

  • [Existing] User open's PR as normal for fix, etc https://jenkins.edgexfoundry.org/blue/organizations/jenkins/edgexfoundry%2Fsample-service/detail/PR-135/9/pipeline
  • 🆕 getGolangBaseImage will return Go LTS image that DevOps manually releases into Nexus release

    docker build -t ci-base-image-x86_64 -f Dockerfile --build-arg BASE=nexus3.edgexfoundry.org:10002/edgex-devops/edgex-golang-base:1.16-alpine-lts --build-arg 'MAKE=echo noop' --target=builder .
    
    docker build -t ci-base-image-arm64 -f Dockerfile --build-arg BASE=nexus3.edgexfoundry.org:10002/edgex-devops/edgex-golang-base-arm64:1.16-alpine-lts --build-arg MAKE="echo noop" --target=builder .
    

Main branch (Regular Dev Process)

PR open against the main branch, no regressions introduced: https://jenkins.edgexfoundry.org/blue/organizations/jenkins/edgexfoundry%2Fsample-service/detail/PR-136/1/pipeline