Nexus是一个开源的、基于Java的应用程序框架和存储库管理系统,可用于管理软件开发和部署的所有相关构件。 它允许用户创建和维护Maven存储库,使其更易于组织,搜索和共享构建工件和库。 Nexus具有安全性和身份验证、多格式支持、镜像管理和自定义插件等功能。 它还可以与Jenkins等构建工具和Docker等容器平台集成,使其可以作为企业级构建和部署的强大工具。
实验机器
主机名 | IP | 安装软件 |
jenkins | 192.168.231.128 | jdk,jenkins,tomcat,maven,plugins |
nexus | 192.168.231.253 | jdk,nexus |
准备工作
关闭防火墙与selinux,修改主机名
jenkins端
解压,编辑环境变量
[root@jenkins ~]# tar xf jdk-11.0.16_linux-x64_bin.tar.gz -C /usr/local/
[root@jenkins ~]# tar xf apache-tomcat-9.0.79.tar.gz -C /usr/local/
[root@jenkins ~]# tar xf apache-maven-3.8.8-bin.tar.gz -C /usr/local/
改名java
[root@jenkins ~]# mv jdk-11.0.16 java
编辑环境变量
[root@jenkins ~]# vim /etc/profile.d/java.sh
JAVA_HOME=/usr/local/java
PATH=$PATH:$JAVA_HOME/bin
让环境变量生效,查看是否安装成功
[root@jenkins ~]# source /etc/profile.d/java.sh
[root@jenkins ~]# java -version
java version "11.0.16" 2022-07-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.16+11-LTS-199)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16+11-LTS-199, mixed mode)
上线一个动态项目
[root@jenkins ~]# cd /usr/local/tomcat/webapps/
[root@jenkins webapps]# mv /root/jenkins-2.414.3.war .
[root@jenkins webapps]# unzip jenkins-2.414.3
提前预装插件
[root@jenkins ~]# cd /root/.jenkins/
[root@jenkins ~]# tar xf /root/plugins-2.414.3.tar.gz -C ./plugins/
[root@jenkins ~]# mv plugins/* /root/.jenkins/plugins/
修改maven配置文件
[root@jenkins ~]# cd /usr/local/apache-maven-3.8.8/conf/
[root@jenkins conf]# vim settings.xml 大概第162行
将内容删除,改成阿里云的国内镜像源
启动tomcat
[root@jenkins ~]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
有8080端口即可
[root@jenkins ~]# ss -nplt | grep 8080
LISTEN 0 100 [::]:8080 [::]:* users:(("java",pid=1552,fd=43))
访问 192.168.231.128:8080/jenkins
nexus端
安装java环境,只能装jdk8
[root@nexus ~]# tar jdk-8u211-linux-x64.tar.gz -C /usr/local/
[root@nexus ~]# cd /usr/local
改名
[root@nexus ~]# mv jdk-8u211 java
编辑环境变量
[root@nexus ~]# cat /etc/profile.d/java.sh
JAVA_HOME=/usr/local/java
PATH=$PATH:$JAVA_HOME/bin
查看版本
[root@nexus ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
安装nexus
[root@nexus ~]# tar xf nexus-3.62.0-01-unix.tar.gz -C /opt
启动nexus
以root用户启动
[root@nexus ~]# cd /opt
[root@nexus opt]# cd nexus-3.62.0-01/
[root@nexus nexus-3.62.0-01]# ./bin/nexus run
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
2023-11-29 15:25:30,996+0800 INFO [FelixStartLevel] *SYSTEM org.sonatype.nexus.pax.logging.NexusLogActivator - start
2023-11-29 15:25:31,977+0800 INFO [FelixStartLevel] *SYSTEM org.sonatype.nexus.features.internal.FeaturesWrapper - Fast FeaturesService starting
2023-11-29 15:25:33,372+0800 INFO [FelixStartLevel] *SYSTEM ROOT - bundle org.apache.felix.scr:2.1.30 (57) Starting with globalExtender setting: false
2023-11-29 15:25:33,378+0800 INFO [FelixStartLevel] *SYSTEM ROOT - bundle org.apache.felix.scr:2.1.30 (57) Version = 2.1.30
这提示是建议使用普通用户登录
登录成功的界面80
使用普通用户登录的方法
[root@nexus ~]# useradd -r nexus
[root@nexus ~]# chown -R nexus:nexus /opt/nexus-3.62.0-01
[root@nexus ~]# su - nexus # 切换到 nexus 用户
[root@nexus ~]# cd /opt/nexus-3.62.0-01/bin
[root@nexus ~]# ./nexus run # 前台启动 Nexus,查看日志
# 也可以通过start后台启动
访问查看,默认端口是8081
创建仓库
远程仓库
用到的是老师提供的
基础操作准备好,开始在jenkins 使用 nexus插件
编辑工具变量
第二个是安装jenkins那台服务器安装maven的路径
创建maven项目
源代码管理
分支与远程仓库的分支相同
推送环节
URL是nexus端的URL
添加凭据
用来登录nexus的用户及密码
信息对照
对照远程仓库的
Repository
这是nexus端的创建的仓库URL,只需要最后一部分即可
Artifacts
ArtifactId也在远程仓库可以找到
type是war
File是默认会在target下生成文件 target/easy-springmvc-maven.war
保存执行
查看构建和上传
错误解决
如果构建的时候报错
解决办法是你安装了jdk8或者jdk17,你重新装一个jdk11然后再次构建即可
错误2
解决方法是:将maven卸载,重新装一次即可