DevOps-Nexus3

在这里插入图片描述

部署Nexus3

---
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/name: nexus3
  name: nexus3
  namespace: devops
  resourceVersion: '8544084'
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s.kuboard.cn/name: nexus3
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s.kuboard.cn/name: nexus3
    spec:
      containers:
        - image: 'sonatype/nexus3:3.41.0'
          imagePullPolicy: IfNotPresent
          name: nexus3
          ports:
            - containerPort: 8081
              hostPort: 8081
              name: web
              protocol: TCP
            - containerPort: 8083
              hostPort: 8083
              name: web2
              protocol: TCP
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
        - name: volume-2h6rn
          persistentVolumeClaim:
            claimName: nexus

---
apiVersion: v1
kind: Service
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/name: nexus3
  name: nexus3
  namespace: devops
  resourceVersion: '8405188'
spec:
  clusterIP: 10.107.90.23
  clusterIPs:
    - 10.107.90.23
  internalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  ports:
    - name: web
      port: 8081
      protocol: TCP
      targetPort: 8081
    - name: web2
      port: 8083
      protocol: TCP
      targetPort: 8083
  selector:
    k8s.kuboard.cn/name: nexus3
  sessionAffinity: None
  type: ClusterIP

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/name: nexus3
  name: nexus3
  namespace: devops
  resourceVersion: '8545439'
spec:
  ingressClassName: nginx
  rules:
    - host: nexus.bianminchang.com
      http:
        paths:
          - backend:
              service:
                name: nexus3
                port:
                  number: 8081
            path: /
            pathType: Prefix

Nexus3 概念

  • Nexus是一个强大的 Maven 仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。 如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。
  • 正常做法是在本地架设一个Maven仓库服务器,即利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
  • Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,Nexus私服就可以满足这样的需要。
  • Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
  • Nexus支持WebDAV与LDAP安全身份认证。
  • Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。

为什么要构建Nexus私服?

  • 如果没有Nexus私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

nexus私服的优点:

1)加速构建; 2)节省带宽; 3)节省中央maven仓库的带宽; 4)稳定(应付一旦中央服务器出问题的情况) 5)控制和审计; 6)能够部署第三方构件; 7)可以建立本地内部仓库 8)可以建立公共仓库

Nexus3 的使用

主页
在这里插入图片描述
配置管理-邮件通知
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值