美文网首页
【原】Jenkins持续集成环境搭建之java项目自动化构建到远

【原】Jenkins持续集成环境搭建之java项目自动化构建到远

作者: 曹赫洋 | 来源:发表于2017-08-22 16:46 被阅读0次

写在前言

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私服

目录结构

image.png

pom docker-maven-plugins 配置

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.13</version>
    <configuration>
        <forceTags>true</forceTags>
        <imageName>10.0.0.95:5000/${project.artifactId}:${project.version}</imageName>
        <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
        <resources>
            <resource>
                <targetPath>/</targetPath>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

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 项目】查看

image.png
package docker:build -DpushImage
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


image.png

相关文章

网友评论

      本文标题:【原】Jenkins持续集成环境搭建之java项目自动化构建到远

      本文链接:https://www.haomeiwen.com/subject/dluldxtx.html