亲宝软件园·资讯

展开

怎样把spring boot应用发布到Harbor

人气:0

这篇文章主要介绍了如何把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

您可能感兴趣的文章:

加载全部内容

相关教程
猜你喜欢
用户评论