Jenkins编译docker镜像部署到阿里云镜像服务器

编辑Dockerfile文件

FROM frolvlad/alpine-oraclejdk8:slim
MAINTAINER Author
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["/usr/bin/java", "-jar", "/app.jar"]

在pom.xml文件中添加docker-maven-plugin插件



......

 
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                com.spotify
                dockerfile-maven-plugin
                1.4.0
                
                    
                        default
                        
                            build
                            push
                        
                    
                
                
                    ${docker.repository}
                    ${project.build.finalName}
                    
                        target/${project.build.finalName}.jar
                    
                
            
        
    

增加环境变量DOCKER_HOST=tcp://ip:port,IP端口是开启远程控制的Docker地址

编译打包部署到Docker中

mvn clean package -DskipTest

在IDEA环境或者控制台Maven指令中都能很好的执行成功,然而在Jenkins 2.153 执行成功,日志没有异常信息,但是没有在Docker服务器生产镜像,不知是何原因。为了达到目的,只好编SHELL写脚本生产镜像。

 

Jenkins编译docker镜像部署到阿里云镜像服务器_第1张图片

Goals and options填写clean package -DskipTests,只打包jar文件,部署在后面的脚本完成。

完整的脚本如下:

IMAGE_NAME='registry.cn-shenzhen.aliyuncs.com/{命名空间}/{仓库名称}:web-demo-0.0.1-SNAPSHOT'
echo IMAGE_NAME=$IMAGE_NAME
echo '================当前docker版本=============='
echo `docker -v`

echo '================开始创建镜像================'
docker build -t $IMAGE_NAME .

echo '================开始推送镜像================'
docker login --username={阿里云Registry登录名} --password={阿里云Registry登录密码} registry.cn-shenzhen.aliyuncs.com 
docker push $IMAGE_NAME
echo '====================OK!================'

 

你可能感兴趣的:(Docker,jenkins)