docker搭建maven私服并配置setting

docker搭建maven私服

  • 搭建私服
  • 发布jar包
  • 下载jar包

搭建私服

在docker hub上找到nexus3的最新版本,然后执行命令
下载镜像

docker pull sonatype/nexus3:3.22.1

启动镜像

docker run -d -p 8081:8081 --name nexus --restart=always sonatype/nexus3:3.22.1

进入容器

docker exec -it nexus /bin/bash

查看admin密码

cd nexus-data/
cat admin.password

登录并修改密码

输入http://ip:8081/进入管理界面,使用admin账号登录并修改密码,可以看到如下界面,这是nexus里面内置的maven库,里面包含了central、releases、snapshots、public等库,其中public包含了其他3个库。你可以直接使用这里面的库,也可以在这里创建一个maven库,如何创建这里不再详述。

docker搭建maven私服并配置setting_第1张图片

发布jar包

先在setting.xml中配置账号密码等信息


  <servers>
    <server>
      <id>releasesid>
      <username>adminusername>
      <password>XXXXXXpassword>
    server>
	<server>
      <id>snapshotsid>
      <username>账号2username>
      <password>XXXXXXpassword>
    server>
  servers>

当把私服搭建好之后,下一步就是发布我们自己的jar包了,发布jar包需要我们在项目里面配置

打包发布地址

    <distributionManagement>
        <repository>
            <id>releasesid>
            <name>maven-releasesname>
            <url>http://ip:8081/repository/maven-releases/url>
        repository>
        <snapshotRepository>
            <id>snapshotsid>
            <name>maven-snapshotsname>
            <url>http://ip:8081/repository/maven-snapshots/url>
        snapshotRepository>
    distributionManagement>

releases是正式环境的库,snapshots是开发环境的库,name对应的是私服的库名称,url可以在私服的库配置里面找到,id对应的事setting,xml的server节点。

docker搭建maven私服并配置setting_第2张图片
打包依赖添加

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-deploy-pluginartifactId>
                <version>3.0.0-M1version>
            plugin>
            
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-source-pluginartifactId>
                <version>3.2.1version>
                <executions>
                    <execution>
                        <phase>packagephase>
                        <goals>
                            <goal>jargoal>
                        goals>
                    execution>
                executions>
            plugin>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <configuration>
                    <source>1.8source>
                    <target>1.8target>
                    <encoding>UTF-8encoding>
                configuration>
            plugin>
        plugins>
    build>

然后运行mvn deploy就可以将我们自己的jar包打包到私服中,需要注意的是如果你的版本是snapshots的话则会发布到snapshots库中,同理releases则发布到releases库中

下载jar包

当我们吧jar包发布上去之后,其它服务中需要从私服中获取,我们可以在项目的Pom.xml配置,也可以直接配置到setting.xml中,为了方便,我这里就使用settting,xml来统一配置

配置本地仓库地址

<localRepository>D:\apache-maven-3.6.3\repolocalRepository>

配置私服地址

<profiles>
	<profile>    
	  
	   <id>devid>    
		<repositories>    
		  <repository>   
	   
			<id>maven-publicid>
			<name>maven-publicname>
	   
			<url>http://ip:8081/repository/maven-public/url>    
	   
			<releases>    
			  <enabled>trueenabled>    
			releases>    
	   
			<snapshots>    
			  <enabled>trueenabled>
			  <updatePolicy>alwaysupdatePolicy>
              <checksumPolicy>warnchecksumPolicy>
			snapshots>    
		  repository>    
		repositories>   
	  <pluginRepositories>   
		  
			<pluginRepository>   
			  
				<id>maven-publicid>
				<name>maven-publicname>   
				<url>http://ip:8081/repository/maven-public/url>
				<releases>
                    <enabled>trueenabled>
                releases>
                <snapshots>
                    <enabled>trueenabled>
                    <updatePolicy>alwaysupdatePolicy>
                    <checksumPolicy>warnchecksumPolicy>
                snapshots>
			pluginRepository>
		pluginRepositories>
	 profile>
  profiles>

选择启用的profile

  <activeProfiles>
    <activeProfile>devactiveProfile>
  activeProfiles>

ok,这里我们就可以使用私服就配置完毕了

参考链接:
使用Docker搭建maven私服 及常规使用方法
maven私服的配置使用

你可能感兴趣的:(maven)