ods-core repository contains a build recipe for a central Nexus instance. The remainder of this document describes how that setup is done, and how it can be modified and updated.
The Nexus version which is used is determined by which image tag from DockerHub is used, and depending on tag, at which time the ODS image is built.
To update Nexus, the following steps need to be taken:
Configure new version
Create new image
Rollout new deployment
The following will guide you through this process.
To configure a new version of Nexus, you need to update the configuration of ODS, which is located in the
ods-configuration repository of your ODS project in Bitbucket. You need to have the latest
master of this repository, as well as the
ods-core repository in your current ODS version available locally. If you don’t want to do this manually, you can make use the
UMBRELLA_DIR=~/opendevstack BITBUCKET_HOST=bitbucket.acme.org BITBUCKET_PROJECT=opendevstack GIT_REF=v3.0.0 mkdir -p $UMBRELLA_DIR && cd $UMBRELLA_DIR curl -LO https://raw.githubusercontent.com/opendevstack/ods-core/$GIT_REF/scripts/repos.sh chmod +x repos.sh ./repos.sh --git-ref $GIT_REF --repos="ods-core,ods-configuration" --source-project https://$BITBUCKET_HOST/scm/$BITBUCKET_PROJECT
The script can also be used in an umbrella directory in which the repositories already exist. Once the repositories are at the desired revision, change
ods-configuration/ods-core.env to your desired image tag. Commit the change and push it to Bitbucket.
Next, you should ensure that the Nexus
BuildConfig resource in the central ODS namespace is up-to-date, then trigger a new build so that a new image with the changed base image gets built. Finally, a new deployment should be rolled out which uses the newly built image. All of this can be done from the
This target depends on the targets
apply-nexus-deploy which execute the steps described above (and can of course also be executed individually).
There is also a