From: Jessica Wagantall Date: Tue, 25 Sep 2018 21:51:10 +0000 (-0700) Subject: Add Nexus3 repo explanation X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F72%2F12772%2F6;p=releng%2Fdocs.git Add Nexus3 repo explanation Add details on repos present in most projects and how to configure them in Jenkins and in the code. Issue: RELENG-1092 Change-Id: Id88110ea571bbee2621b5443a8bb290fbf1abd09 Signed-off-by: Jessica Wagantall --- diff --git a/docs/_static/jenkins-settings-files-docker.png b/docs/_static/jenkins-settings-files-docker.png new file mode 100644 index 0000000..e1466d1 Binary files /dev/null and b/docs/_static/jenkins-settings-files-docker.png differ diff --git a/docs/nexus3.rst b/docs/nexus3.rst index 70b93cc..0b0d3ea 100644 --- a/docs/nexus3.rst +++ b/docs/nexus3.rst @@ -37,3 +37,74 @@ For example: Nexus 3 communicates with Jenkins server which is the interface used to make the docker image publications on a scheduled or by demand basis (depending on the Jenkins JJB configuration for the particular job). + +Nexus 3 Repositories +==================== + +Nexus 3 allows users to manage different types of repositories. To learn more about +how to manage them, please refer to `Sonatype's official documentation +`_. + +Most LF projects manage their Docker images using the following repos: + +:docker.release: (hosted/HTTP port 10002) Official repository for released images. + Releases repositories have a Disable re-deployment policy to avoid overwriting + released versions. + +:docker.snapshot: (hosted/HTTP port 10003) Used to publish docker snapshot images. + +Special repo namespaces: + +:docker.public: (group/HTTP port 10001) A meta-url containing all release repos in + a combined view. + +:docker.staging: (hosted/HTTP port 10004) Used to publish docker images produced + by the scheduled jobs. + +:docker.io: Repositories that proxy artifacts from https://registry-1.docker.io. + +For continuous integration builds, Jenkins has one settings file for each Gerrit repository. +Each settings file contains an entry for each accessible Nexus3 repository (ServerId). + +.. image:: _static/jenkins-settings-files-docker.png + :alt: Jenkins settings files. + :align: center + +Fabric8.io plugin usage +----------------------- + +Projects using fabric8.io maven plugin for managing their docker images should make +sure to define the docker registries. For example: + +.. code-block:: xml + + nexus3.onap.org:10001 + nexus3.onap.org:10003 + + io.fabric8 + docker-maven-plugin + 0.19.1 + + true + 1.23 + ${docker.pull.registry} + ${docker.push.registry} + + + onap/vvp/jenkins + vvp-jenkins + + true + + ${docker.tag} + ${docker.latest.tag} + + ${project.basedir} + + + + + +.. note:: + + More information in https://dmp.fabric8.io