搭建nexus仓库,并添加阿里云centos镜像源尝试同步

时间:2023-03-01 11:04:17

Nexus是一个强大的maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。 maven的官方仓库:https://repo.maven.apache.org/ Nexus官方下载地址:https://help.sonatype.com/repomanager3/product-information/download 搭建nexus仓库,并添加阿里云centos镜像源尝试同步

部署Nexus

安装的内存推荐使用4G或以上,内存太小的话会导致无法启动的 系统安装要求文档:https://help.sonatype.com/repomanager3/product-information/system-requirements

安装nexus之前也需要安装jdk环境,nexus也是依赖于java环境的,在这里我准备了oracle的jdk和一个安装脚本。
root@master1:~# ls
jdk-8u311-all-linux-x64.tar.gz  snap
root@master1:~# tar xf jdk-8u311-all-linux-x64.tar.gz
root@master1:~# ls
install_jdk.sh  jdk-8u311-all-linux-x64.tar.gz  jdk-8u311-linux-x64.tar.gz  snap
root@master1:~# cat install_jdk.sh
#!/bin/bash

DIR=`pwd`
JDK_FILE="jdk-8u311-linux-x64.tar.gz"
JDK_DIR="/usr/local"

color () {
    RES_COL=60
    MOVE_TO_COL="echo -en \\033[${RES_COL}G"
    SETCOLOR_SUCCESS="echo -en \\033[1;32m"
    SETCOLOR_FAILURE="echo -en \\033[1;31m"
    SETCOLOR_WARNING="echo -en \\033[1;33m"
    SETCOLOR_NORMAL="echo -en \E[0m"
    echo -n "$2" && $MOVE_TO_COL
    echo -n "["
    if [ $1 = "success" -o $1 = "0" ] ;then
        ${SETCOLOR_SUCCESS}
        echo -n $"  OK  "    
    elif [ $1 = "failure" -o $1 = "1"  ] ;then
        ${SETCOLOR_FAILURE}
        echo -n $"FAILED"
    else
        ${SETCOLOR_WARNING}
        echo -n $"WARNING"
    fi
    ${SETCOLOR_NORMAL}
    echo -n "]"
    echo                                                                                                                              
}

install_jdk () {
if !  [  -f "$DIR/$JDK_FILE" ];then
    color 1 "$JDK_FILE 文件不存在" 
    exit; 
elif [ -d $JDK_DIR/jdk ];then
    color 1  "JDK 已经安装" 
    exit
else 
    [ -d "$JDK_DIR" ] || mkdir -pv $JDK_DIR
fi
tar xvf $DIR/$JDK_FILE  -C $JDK_DIR
cd  $JDK_DIR && ln -s jdk1.8.* jdk 

cat >  /etc/profile.d/jdk.sh <<EOF
export JAVA_HOME=$JDK_DIR/jdk
export JRE_HOME=\$JAVA_HOME/jre
export CLASSPATH=\$JAVA_HOME/lib/:\$JRE_HOME/lib/
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
.  /etc/profile.d/jdk.sh
java -version && color 0 "JDK 安装完成" || { color 1  "JDK 安装失败" ; exit; }

}

install_jdk
root@master1:~# bash install_jdk.sh
root@master1:~# java -version
java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)

下载nexus二进制包并启动服务
root@master1:~# mkdir -p /data/service/ && cd $_
root@master1:/data/service# ls
nexus-3.48.0-01-unix.tar.gz
root@master1:/data/service# tar xf nexus-3.48.0-01-unix.tar.gz
root@master1:/data/service# ln -s /data/service/nexus-3.48.0-01 /data/service/nexus
root@master1:/data/service# vi /lib/systemd/system/nexus.service
root@master1:/data/service# cat /lib/systemd/system/nexus.service
[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/data/service/nexus/bin/nexus start
ExecStop=/data/service/nexus/bin/nexus stop
User=root
Restart=on-abort

[Install]
WantedBy=multi-user.target
root@master1:/data/service# systemctl enable nexus.service
Created symlink /etc/systemd/system/multi-user.target.wants/nexus.service → /lib/systemd/system/nexus.service.
root@master1:/data/service# systemctl start nexus.service

搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步

Hosted:本地仓库,通常我们会部署自己的构建到这一类型的仓库,例如公司的第三方库 Proxy:代理仓库,它们被用于代理远程的公共仓库,如maven*仓库(官方仓库) Group:仓库组,这个用于合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次的引用了,只需要引用一个group就可以了

创建blob数据目录

默认的blob数据目录是在default下 搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步

使用nexus构建私有的apt仓库并测试

搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步在目标测试主机上设置私仓 搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步

使用nexus构建私有的yum仓库并测试

搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步在目标测试主机上设置私仓 搭建nexus仓库,并添加阿里云centos镜像源尝试同步搭建nexus仓库,并添加阿里云centos镜像源尝试同步