Skip to content

ex-devops-team/nexus-dev-external

Repository files navigation

Nexus mirroring configuration for development team

Nginx Nexus configuration for docker context path base routing

Nexus objects:

  • Blob store
  • Repository
  • Group

Naming pattern

  • tool-remote-short name for single repository, example docker-remote-dockerhub -> https://registry-1.docker.io

  • tool-remote for group, example docker-remote -> includes all docker-remote-* repos

  • docker docker

  • gradle

  • helm helm

  • mvn mvn

  • npm npm

  • nuget

  • pip

  • raw

  • terraform terraform

For new mirrors look at variables.tf

Requirement Nexus url, username, password

Terraform provider

export NEXUS_URL=https://nexus.dev.example.com/
export NEXUS_USERNAME="admin"
export NEXUS_PASSWORD="password"

Usage examples

  1. Docker

    • docker pull via group

      docker pull nexus.dev.example.com/docker-remote/nginx:latest
    • docker pull directly via mirror

      docker pull nexus.dev.example.com/docker-remote-dockerhub/nginx:latest
  2. Gradle

  3. Helm

    • helm

      helm repo add mirror-prometheus https://nexus.dev.example.com/repository/helm-remote-prometheus
  4. MVN

    • maven

      <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
        <localRepository />
        <interactiveMode />
        <offline />
        <pluginGroups />
        <servers />
        <mirrors>
          <mirror>
            <id>dev-nexus</id>
            <name>Dev Nexus</name>
            <url>https://nexus.dev.example.com/repository/mvn-remote/</url>
            <mirrorOf>*</mirrorOf>
          </mirror>
          </mirror>
        </mirrors>
      </settings>
  5. NPM

    • npm

      npm install --registry=https://nexus.dev.example.com/repository/npm-remote/
  6. Nuget

    dotnet nuget add source https:///nexus.dev.example.com/repository/nuget-remote/index.json --name RemoteNuget --configfile ./nuget.conf
  7. Pip

    • pip

      pip install --disable-pip-version-check --no-cache-dir -r requirements.txt --index-url https://nexus.dev.example.com/repository/pip-remote/simple
  8. Raw

    • GitHub releases

      curl http://nexus.dev.example.com/repository/raw-remote-github/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.darwin-amd64.tar.gz -o node_exporter-1.8.1.darwin-amd64.tar.gz
  9. Terraform

    • .terraformrc file

      provider_installation {
        network_mirror {
          url = "https://nexus.dev.example.com/repository/terraform-remote-yandex-providers/"
          include = ["registry.terraform.io/*/*"]
        }
        direct {
          exclude = ["registry.terraform.io/*/*"]
        }
      }
      
    • tfswitch

      tfswitch --mirror https://nexus.dev.example.com/repository/terraform-remote-yandex-binaries

About

Nexus dev configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages