Linux部署Nexus通过Maven推送及拉取代码

目录
1、下载
2、安装
3、设置开机自启
4、登录系统
5、配置中央仓库
6、用户管理
7、创建仓库
8、代码推送
9、引入私有仓库包

1、下载
搭建版本:3.45.0

下载地址:https://help.sonatype.com/repomanager3/product-information/download

在这里插入图片描述
2、安装
安装目录:/home/nexus

# 创建安装目录
mkdir /home/nexus

将下载的nexus-3.45.0-01-unix.tar.gz上传到/home/nexus下

解压操作

# 解压
tar -zxvf nexus-3.45.0-01-unix.tar.gz

配置nexus

​ neuxs的默认占用内存大小为2703m,可以根据实际情况进行适当的修改

# 修改nexus.vmoptions文件
vim /home/nexus/nexus-3.45.0-01/bin/nexus.vmoptions

# 原始内容如下:
-Xms2703m
-Xmx2703m
-XX:MaxDirectMemorySize=2703m

配置端口

neuxs的默认使用8081端口,如果存在冲突可以在nexus-default.properties中进行修改

# 修改nexus-default.properties文件
vim /home/nexus/nexus-3.45.0-01/etc/nexus-default.properties

# 修改端口为9090,需要防火墙开通端口
application-port=9090

配置Root用户

编辑nexus.rc文件

vim /home/nexus/nexus-3.45.0-01/bin/nexus.rc

# 内容如下,开通就是存在`#`号
#run_as_user="root"

==============================================
# 编辑nexus文件
vim /home/nexus/nexus-3.45.0-01/bin/nexus

# 将run_as_root=false改为run_as_root=true
run_as_root=true

配置jdk

# 编辑nexus文件

  vim /home/nexus/nexus-3.45.0-01/bin/nexus

  # 内容如下

  INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/java/jdk1.8.0_131

开始安装及运行

  # 进入bin目录
  /home/nexus/nexus-3.45.0-01/bin
  
  # 安装及后台运行
  ./nexus run

测试访问

测试地址:http://192.168.80.121:9090/
在这里插入图片描述
3、设置开机自启
创建自启服务文件

# 创建自启服务文件
vim /usr/lib/systemd/system/nexus.service

# 内容
[Unit] 
Description=nexus service
After=network.target
 
[Service] 
Type=forking 
ExecStart=/home/nexus/nexus-3.45.0-01/bin/nexus start
ExecReload=/home/nexus/nexus-3.45.0-01/bin/nexus restart
ExecStop=/home/nexus/nexus-3.45.0-01/bin/nexus stop
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

加入自启服务

systemctl enable nexus.service

systemctl daemon-reload

启动&停止命令(执行启动命令后,需要1~2分钟)

# 启动
systemctl start nexus.service
# 重启
systemctl restart nexus.service
# 停止
systemctl stop nexus.service
# 查看状态
systemctl status nexus.service

4、登录系统
nexus的默认用户名为admin

默认密码位置在/home/nexus/sonatype-work/nexus3/admin.password中,使用时直接复制即可,密码为一个uuid;

cat /home/nexus/sonatype-work/nexus3/admin.password

5、配置中央仓库
仓库地址:https://mirrors.huaweicloud.com/repository/maven/
在这里插入图片描述
在这里插入图片描述
6、用户管理
1、添加角色
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、创建用户
在这里插入图片描述
在这里插入图片描述
7、创建仓库
1、创建maven2(hosted)类型仓库
创建仓库需要在登录后才能进行
点击Create repository,然后选择类型为 maven2(hosted)
在这里插入图片描述
在这里插入图片描述
2、设置仓库属性

Maven 仓库分为两种:Snapshot 快照仓库和 Release 发行仓库。

Snapshot 快照仓库用于保存开发过程中的不稳定 SNAPSHOT 版本,Release 发行仓库则用来保存稳定的 RELEASE 版本。
仓库名称设置为 lhz-release(任意);Version policy选择为Release;

将Deployment policy选择Allow redeploy,允许部署和更新私服上的组件。

3、添加到仓库组
在这里插入图片描述
在这里插入图片描述
8、代码推送
1、POM文件自动推送

在本地Maven的setting.xml文件中,在标签中添加Neuxs私服的配置,如下

<servers>
<!--nexus服务器-->
  <servers>  
    <server>
        <!--任意值-->
        <id>lhz-nexus</id>
        <!--私服的访问账户-->
        <username>admin</username>  
        <!--私服的访问密码-->
        <password>123321</password>  
    </server>
</servers>

在需要推送到Nexus仓库代码的POM.XML中,配置推送的仓库及地址

<!--dependencies下面-->
<distributionManagement>
    	<!--推送到release版本的仓库-->
        <repository>
            <!-- 需要和conf文件下pom文件server标签中id保持一致 -->
            <id>lhz-nexus</id>
            <name>nexus release</name>
            <!--推送的仓库地址-->
            <url>http://192.168.80.121:9090/repository/lhz-release/</url>
        </repository>
</distributionManagement>

执行推送:

maven推送命令

mvn clean deploy

推送项目中的部分pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<groupId>com.lhz.utils</groupId>
<artifactId>template-common-utils</artifactId>
<packaging>jar</packaging>
<version>2.0</version>
<modelVersion>4.0.0</modelVersion>

<properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
</properties>


<dependencies>
    <dependency>
        <groupId>eu.bitwalker</groupId>
        <artifactId>UserAgentUtils</artifactId>
        <version>1.21</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.22</version>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.15</version>
    </dependency>
 	......
 	......
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>2.8.1</version>
    </dependency>
</dependencies>

<!--dependencies下面-->
<distributionManagement>
    <!--推送到release版本的仓库-->
    <repository>
        <!-- 需要和conf文件下pom文件server标签中id保持一致 -->
        <id>lhz-nexus</id>
        <name>nexus release</name>
        <url>http://192.168.80.121:9090/repository/lhz-release/</url>
    </repository>
</distributionManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

在这里插入图片描述
2、手动上传jar包到nexus
在这里插入图片描述
在这里插入图片描述
9、引入私有仓库包
配置如下:

maven-default-http-blocker external:http:* Pseudo repository to mirror external repositories initially using HTTP. http://0.0.0.0/ true
<!--添加私服镜像-->
<mirror>
    <id>lhz-nexus</id>
	<!--任意值-->
    <name>nexus repository</name> 
    <mirrorOf>*</mirrorOf>  
    <url>http://192.168.80.121:9090/repository/maven-public/</url>  
</mirror>
<repositories>
    <repository>
       <!--与mirror配置的一致-->
       <id>lhz-nexus</id>
        <name>Nexus Reposotory</name>
		<url>http://192.168.80.121:9090/repository/maven-public/</url>  
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Maven 的 API 来实现对 Maven 项目依赖的拉取。具体实现步骤如下: 1. 首先,你需要在你的 Java 项目中添加 Maven 的依赖,以便使用 Maven 的 API。你可以在你的 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> <version>3.6.3</version> </dependency> ``` 2. 接下来,你需要创建一个 Maven 项目对象模型(Project Object Model,POM),以便获取项目的依赖信息。你可以使用以下代码创建一个 POM 对象: ``` Maven maven = new Maven(); ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); request.setProcessPlugins(false); request.setSystemProperties(System.getProperties()); request.setRemoteRepositories(Collections.singletonList(new DefaultArtifactRepository("central", "https://repo.maven.apache.org/maven2", new DefaultRepositoryLayout()))); request.setRepositorySession(new DefaultRepositorySystemSession()); request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); request.setLocalRepository(new LocalRepository("path/to/local/repo")); ModelBuildingResult result = maven.readModel(new File("path/to/pom.xml"), request); Model model = result.getEffectiveModel(); ``` 3. 然后,你可以使用 POM 对象获取项目的依赖信息。你可以使用以下代码获取项目的依赖列表: ``` List<Dependency> dependencies = model.getDependencies(); ``` 4. 最后,你可以使用 Maven 的依赖解析器(Dependency Resolver)来拉取项目的依赖。你可以使用以下代码拉取项目的依赖: ``` DependencyResolver resolver = new DefaultDependencyResolver(); DependencyRequest request = new DependencyRequest(); request.setCollectRequest(new CollectRequest(new Dependency(model.getGroupId(), model.getArtifactId(), model.getVersion()), model.getDependencyManagement().getDependencies(), dependencies)); DependencyResult result = resolver.resolve(request); List<ArtifactResult> artifactResults = result.getArtifactResults(); ``` 这样,你就可以通过 Java 代码实现对 Maven 项目依赖的拉取了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值