这篇文章主要介绍了如何把spring boot应用发布到Harbor,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 settings.xml配置 server id
这篇文章主要介绍了如何把spring boot应用发布到Harbor,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
settings.xml配置
<server> <id>docker-hub</id> <username>admin</username> <password>Harbor12345</password> </server>
pom.xml配置
</parent> <groupId>com.topcheer</groupId> <artifactId>docker</artifactId> <version>0.0.1-SNAPSHOT</version> <name>docker</name> <description>Demo project for Spring Boot</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <docker.image.prefix>topcheer</docker.image.prefix> <docker.repostory>192.168.180.105:1180</docker.repostory> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> </repository> </repositories> <build> <finalName>docker</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--加入下面两项配置--> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>tag-image</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <image>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</image> <newName>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</newName> </configuration> </execution> <execution> <id>push-image</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> <configuration> <imageName>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</imageName> </configuration> </execution> </executions> <configuration> <serverId>docker-hub</serverId> <registryUrl>${docker.repostory}</registryUrl> <dockerHost>http://192.168.180.105:2375</dockerHost> <forceTags>true</forceTags> <pushImage>true</pushImage> <dockerDirectory>src/main/docker</dockerDirectory> <imageName>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</imageName> <imageTags> <imageTag>1.0.2</imageTag> </imageTags> <resources> <rescource> <targetPath></targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </rescource> </resources> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> </build>
运行命令
clean package docker:build -DpushImage -Dmaven.test.skip=true
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。