OpenShift Nexus: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 24: Line 24:


  [[oc new-app]] sonatype/nexus3:latest
  [[oc new-app]] sonatype/nexus3:latest
This will set "app=nexus3" label on all objects created for this application.
  oc expose svc nexus3
  oc expose svc nexus3
  oc rollout pause dc nexus3
  oc rollout pause dc nexus3

Revision as of 00:52, 26 November 2017

External

Internal

Overview

Nexus is a repository and artifact manager used by OpenShift to cache locally build dependencies, and those used by Maven in particular, close to builds. It is recommended to set up one per OpenShift cluster, to speed up Maven builds.

Installation

Method 1

Use the following template: https://github.com/NovaOrdis/playground/blob/master/openshift/auxiliary-tools/nexus.yaml

Copy it locally and then:

oc process -f nexus.yaml | oc create -f -

Method 2

oc new-app sonatype/nexus3:latest

This will set "app=nexus3" label on all objects created for this application.

oc expose svc nexus3
oc rollout pause dc nexus3
oc patch dc nexus3 --patch='{ "spec": { "strategy": { "type": "Recreate" }}}'
oc set resources dc nexus3 --limits=memory=2Gi --requests=memory=1Gi
echo "apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nexus-pvc
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 4Gi" | oc create -f -

oc set volume dc/nexus3 --add --overwrite --name=nexus3-volume-1 --mount-path=/nexus-data/ --type persistentVolumeClaim --claim-name=nexus-pvc

Verification

Nexus should be available at: https://nexus-cicd.apps.openshift.novaordis.io

Troubleshooting

Interaction with OpenShift

OpenShift image builders check for the environment variable MAVEN_MIRROR_URL, which should point to: