【原】Jenkins持续集成环境搭建之java项目自动化构建到远程服务器的docker容器

写在前言

1.本文的阅读前提是读者已经安装成功jenkins,并且已经通过做好的相关的基础配置,且可以通过jenkins发布项到到远程服务器的tomcat容器了,如果读者还没有进行到这一步建议查看笔者的另外一篇文章
【原】Jenkins持续集成环境搭建之创建java项目的job【centos6.5 java maven git 项目】
2.本文是基于spring boot ,docker, docker-compose, jenkins ,dockerfile, maven的docker-maven-plugins实现的

准备工作

请读者确定
1.自己的jenkins宿主服务器已经安装了mvn,git2
2.远程服务器已经安装好了docker,docker-compose
3.已经在内网环境下搭建好了docker- egistry私服

目录结构

【原】Jenkins持续集成环境搭建之java项目自动化构建到远程服务器的docker容器_第1张图片
image.png

pom docker-maven-plugins 配置


    com.spotify
    docker-maven-plugin
    0.4.13
    
        true
        10.0.0.95:5000/${project.artifactId}:${project.version}
        ${project.basedir}/src/main/docker
        
            
                /
                ${project.build.directory}
                ${project.build.finalName}.jar
            
        
    

dockerfile

FROM  hub.c.163.com/library/java:8
VOLUME /tmp
ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 9000
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

docker-compose.yml

version: '2'        # 表示该docker-compose.yml文件使用的是Version 2 file format
services:           # Version 2 file format的固定写法,为project定义服务。
  demo1:                                  # 指定服务名称
    image: 10.0.0.95:5000/dockerdemo:0.0.1-SNAPSHOT    # 指定服务所使用的镜像
    ports:                                                        # 暴露端口信息
      - "9001:9000"
  demo2:                                  # 指定服务名称
      image: 10.0.0.95:5000/dockerdemo:0.0.1-SNAPSHOT    # 指定服务所使用的镜像
      ports:                                                        # 暴露端口信息
      - "9002:9000"
  demo3:                                  # 指定服务名称
      image: 10.0.0.95:5000/dockerdemo:0.0.1-SNAPSHOT    # 指定服务所使用的镜像
      ports:                                                        # 暴露端口信息
      - "9003:9000"
  demo4:                                  # 指定服务名称
      image: 10.0.0.95:5000/dockerdemo:0.0.1-SNAPSHOT    # 指定服务所使用的镜像
      ports:                                                        # 暴露端口信息
      - "9004:9000"

jenkins 的配置 差异与不同

这里建议读者参照笔者的【原】Jenkins持续集成环境搭建之创建java项目的job【centos6.5 java maven git 项目】查看

【原】Jenkins持续集成环境搭建之java项目自动化构建到远程服务器的docker容器_第2张图片
image.png
package docker:build -DpushImage
【原】Jenkins持续集成环境搭建之java项目自动化构建到远程服务器的docker容器_第3张图片
image.png
target/docker/docker-compose.yml
target/docker
/javaproject/dockerdemo/
cd /usr/local/javaproject/dockerdemo
docker-compose pull
docker-compose up -d

这里有个点注意:关于 Remote directory 的路径问题,由于我在系统设置里已经做了处理,把远程的根目录设置成了 /usr/local/,所以 Remote directory 从/usr/local/下面开始写就ok


【原】Jenkins持续集成环境搭建之java项目自动化构建到远程服务器的docker容器_第4张图片
image.png

你可能感兴趣的:(【原】Jenkins持续集成环境搭建之java项目自动化构建到远程服务器的docker容器)