将插件绑定在某个phase执行,推送镜像

文章目录

    • 将插件绑定在某个phase执行
    • 推送镜像

将插件绑定在某个phase执行

需求:在执行mvn clean package 时,插件自动为构建Docker镜像。
实现:将插件的的goal绑定在某个phase即可。

phase和goal可以这样理解:maven命令格式是mvn phase:goal ,例如mvn package docker:build。那么,package和docker都是phase,build则是goal。
示例:


    
        
            com.spotify
            docker-maven-plugin
            0.4.13
            
            	
            		build-image
            		package
            		
            			build
            		
            	
            		
            
                itmuch/discovery-eureka:0.0.1
                java
                ["java", "-jar", "${project.build.finalName}.jar"]
                
                
                    
                        /
                        ${project.build.directory}
                        ${project.build.finalName}.jar
                    
                
            
        
    

由配置可知,只需添加如下配置:

 		 
            	
            		build-image
            		package
            		
            			build
            		
            	
            		

就可将插件绑定在package的phase上。也就是说,用户只需执行mvn package,就会自动执行mvn docker:build。

推送镜像

使用Maven插件推送一个Docker 镜像到Docker Hub.

1.修改Maven的全局配置文件settings.xml,在其中添加以下内容,配置Docker Hub的用户信息。


	docker-hub
	用户名
	密码
	
		邮箱
	

2.修改pom.xml。


    
        
            com.spotify
            docker-maven-plugin
            0.4.13
                itmuch/discovery-eureka:0.0.1
                java
                ["java", "-jar", "${project.build.finalName}.jar"]
                
                
                    
                        /
                        ${project.build.directory}
                        ${project.build.finalName}.jar
                    
                

			
			docker-hub
            
        
    

3.执行以下命令,添加pushImage的标签,表示推送镜像。

mvn clean package docker:build -DpushImage

也可推送镜像到私有仓库,只需要将imageName指定类似如下的形式即可:

 localhost:5000/itmuch/discovery-eureka:0.0.4

你可能感兴趣的:(➹➹➹④微服务)