医联媒体网站建设,凯里网站建设,中国工业设计在线官网,自己做网站美工一、nexus介绍二、nexus部署部署java环境安装配置nexus浏览器访问 三、创建一个内网yum源四、创建一个代理yum仓库五、jenkins 使用 nexus插件jenkins部署maven-proxy配置 maven 工程查看构建和上传 一、nexus介绍
Nexus 是一个强大的仓库管理工具#xff0c;用于管理和分发 … 一、nexus介绍二、nexus部署部署java环境安装配置nexus浏览器访问 三、创建一个内网yum源四、创建一个代理yum仓库五、jenkins 使用 nexus插件jenkins部署maven-proxy配置 maven 工程查看构建和上传 一、nexus介绍
Nexus 是一个强大的仓库管理工具用于管理和分发 Maven、npm、Docker 等软件包。它提供了一个集中的存储库用于存储和管理软件包并提供了版本控制、访问控制、构建和部署等功能。Nexus 可以帮助开发团队提高软件包管理的效率和可靠性减少软件包冲突和版本不一致的问题并提供了一个安全、可靠的软件包分发渠道。Nexus 支持多种仓库类型包括 Maven 仓库、npm 仓库、Docker 仓库等并且可以与其他工具和系统集成如 Jenkins、Ansible、Kubernetes 等以实现自动化的构建、部署和管理。总的来说Nexus 是一个非常有用的工具可以帮助开发团队更好地管理和分发软件包提高软件开发的效率和质量。
二、nexus部署
部署java环境
[rootlocalhost ~]# tar -xf jdk-8u211-linux-x64.tar.gz -C /usr/local
[rootlocalhost ~]# cd /usr/local
[rootlocalhost local]# vim /etc/profile.d/java.sh
JAVA_HOME/usr/local/jdk1.8.0_211
PATH$PATH:$JAVA_HOME/bin
[rootlocalhost local]# source /etc/profile.d/java.sh
[rootlocalhost local]# 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
[rootlocalhost ~]# tar -xf nexus-3.62.0-01-unix.tar.gz -C /usr/local
[rootlocalhost local]# cd 、/usr/local/nexus-3.62.0-01/
[rootlocalhost nexus-3.62.0-01]# ./bin/nexus start
[rootlocalhost ~]# ss -nplt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:* users:((sshd,pid941,fd3))
LISTEN 0 100 127.0.0.1:25 *:* users:((master,pid1127,fd13))
LISTEN 0 50 *:8081 *:* users:((java,pid11182,fd996))
LISTEN 0 1 127.0.0.1:39060 *:* users:((java,pid11182,fd120))
LISTEN 0 128 [::]:22 [::]:* users:((sshd,pid941,fd4))
LISTEN 0 100 [::1]:25 [::]:* users:((master,pid1127,fd14))浏览器访问
192.168.20.161:8081 注册登录 第一次登录时在/usr/local/sonatype-work/nexus3/admin.password查找密码 将不需要的库删掉创建自己的库
三、创建一个内网yum源 创建仓库类型为yum Nexus 仓库类型包括 Group、Hosted 和 Proxy。 Group组仓库用于组织其他仓库它本身不存储任何软件包。Group 仓库可以包含其他类型的仓库例如 Hosted 或 Proxy 仓库以方便管理和访问。 Hosted宿主仓库用于存储自己构建或上传的软件包。Hosted 仓库通常用于内部开发团队共享软件包或者用于存储私有软件包。 Proxy代理仓库用于代理其他公共仓库的软件包。Proxy 仓库可以缓存公共仓库中的软件包以提高下载速度和节省带宽。Proxy 仓库还可以用于管理和控制对公共仓库的访问。 用同样的方法配一个epel源
[rootlocalhost ~]# cd /etc/yum.repos.d/
[rootlocalhost yum.repos.d]# ls
backup repo.repo
[rootlocalhost yum.repos.d]# mv repo.repo backup
[rootlocalhost yum.repos.d]# ls
backup
[rootlocalhost yum.repos.d]# vim nexus-aliyun.repo
[nexus-aliyun]
namenexus-aliyun
baseurlhttp://192.168.20.161:8081/repository/yum-aliyun/$releasever/os/$basearch/
enabled1
gpgcheck0
[nexus-epel]
namenexus-epel
baseurlhttp://192.168.20.161:8081/repository/yum-epel/7/$basearch
enabled1
gpgcheck0
[rootlocalhost yum.repos.d]# yum clean all
已加载插件fastestmirror
正在清理软件源 nexus-aliyun nexus-epel
Cleaning up list of fastest mirrors
Other repos take up 438 M of disk space (use --verbose for details)
[rootlocalhost yum.repos.d]# yum repolist
已加载插件fastestmirror
Determining fastest mirrors
nexus-aliyun | 2.2 kB 00:00:00
nexus-epel | 3.3 kB 00:00:00
(1/5): nexus-aliyun/7/x86_64/primary | 2.9 MB 00:00:00
(2/5): nexus-epel/x86_64/group_gz | 99 kB 00:00:00
(3/5): nexus-epel/x86_64/primary | 3.9 MB 00:00:00
(4/5): nexus-aliyun/7/x86_64/group_gz | 153 kB 00:00:00
(5/5): nexus-epel/x86_64/updateinfo | 1.0 MB 00:00:00
nexus-aliyun 10072/10072
nexus-epel 13789/13789
源标识 源名称 状态
nexus-aliyun/7/x86_64 nexus-aliyun 10,072
nexus-epel/x86_64 nexus-epel 13,789
repolist: 23,861四、创建一个代理yum仓库 方法一
方法二 [rootlocalhost ~]# vim /etc/yum.conf
[rootlocalhost ~]# find /var/cache/yum/ -name *.rpm
/var/cache/yum/x86_64/7/nexus-aliyun/packages/apr-1.4.8-7.el7.x86_64.rpm
/var/cache/yum/x86_64/7/nexus-aliyun/packages/apr-util-1.5.2-6.el7.x86_64.rpm
/var/cache/yum/x86_64/7/nexus-aliyun/packages/httpd-tools-2.4.6-95.el7.centos.x86_64.rpm
/var/cache/yum/x86_64/7/nexus-epel/packages/nginx-1.20.1-10.el7.x86_64.rpm
[rootlocalhost ~]# find /var/cache/yum/ -name *.rpm -exec curl -v --user admin:admin --upload-file {} http://192.168.20.161:8081/repository/yum-hosted/{} \;五、jenkins 使用 nexus插件
jenkins部署
[rootlocalhost ~]# tar -xf jdk-11.0.19_linux-x64_bin.tar.gz -C /usr/local
[rootlocalhost ~]# cd /usr/local
[rootlocalhost local]# vim /etc/profile.d/java.sh
JAVA_HOME/usr/local/jdk-11.0.19
PATH$PATH:$JAVA_HOME/bin
[rootlocalhost local]# source /etc/profile.d/java.sh
[rootlocalhost local]# java -version
java version 11.0.19 2023-04-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.199-LTS-224)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.199-LTS-224, mixed mode)上传war包启动
[rootlocalhost ~]# java -jar jenkins-2.414.3.war
Running from: /root/jenkins-2.414.3.war
webroot: /root/.jenkins/war
2023-11-29 06:49:45.5800000 [id1] INFO winstone.Logger#logInternal: Beginning extraction from warmaven-proxy jenkins安装插件
配置 maven 工程 保存
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdspringmvc-maven/groupIdartifactIdeasy-springmvc-maven/artifactId!-- 注意这里的名字中不要带有snapshot --version0.0.1/versionpackagingwar/packagingnamespringmvc-maven/namedescriptionsimple demo about how to use maven combine spring mvc/descriptionbuild!-- 使用默认的文件路径 --!-- 生成的war文件名 避免添加版本号 --finalNameeasy-springmvc-maven/finalNamepluginspluginartifactIdmaven-compiler-plugin/artifactIdversion3.1/versionconfigurationsource1.6/sourcetarget1.6/target/configuration/pluginplugin artifactIdmaven-war-plugin/artifactId configuration version3.0 /version !-- maven的web项目默认的webroot是在src\main\webapp。如果在此目录下找不到web.xml就抛出webxml attribute is required的异常 --!-- 需要在pom.xml中增加webXml配置 --!-- webXmlWebContent\WEB-INF\web.xml/webXml --/configuration /plugin/plugins/builddependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependency!-- spring mvc dependencies start --dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion${spring.version}/version/dependency!-- spring mvc dependencies end --!-- 解决页面访问时发生错误: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config - start --dependencygroupIdjstl/groupIdartifactIdjstl/artifactIdversion1.2/version/dependencydependencygroupIdtaglibs/groupIdartifactIdstandard/artifactIdversion1.1.2/version/dependency!-- end --/dependenciespropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingspring.version3.1.2.RELEASE/spring.version/properties
/project查看构建和上传