美文网首页
Jenkins+Maven+Docker持续构建2-镜像构建

Jenkins+Maven+Docker持续构建2-镜像构建

作者: K1024 | 来源:发表于2018-06-03 23:43 被阅读61次

    目标说明

    1. 其实就是使用Dockerfile构建镜像
    2. 挑战点在于我们构建的镜像涉及低版本的JDK(1.6)以及需要将生成的war包打包到镜像

    实验环境说明

    1. Ubuntu:一个HOST是MAC的虚拟机,版本是16.04 LTS版本
    2. docker :版本18.03-ce版本,直接部署在上述的Ubuntu上
    3. web应用的war包(jiuchongju.war),假设已经通过Jenkins完成了打包操作,并拷贝到Dockfile所在目录(/root/docker-jcj)
    4. Dockerfile涉及的相关文件
    • tomcat6.sh:tomcat的环境变量声明
    • run.sh:调试脚本
    • Dockerfile:构建镜像脚本
    1. 镜像构建涉及到的相关软件
    • tomcat6.tar:tomcat6压缩的软件包
    • jdk-6u45-linux-x64.bin:jdk1.6的安装软件包

    实验脚本

    1.Jenkins构建完成jiuchongju.war后的衔接脚本(需要在jenkins的脚本控制台录入)


    image.png
    #切换到maven构建的target目录中,里边是我们新构建的war包jiuchongju.war
    cd target
    #将jiuchongju.war强制拷贝到 /root/docker-jcj/目录下,这个目录是我们用来制作docker镜像的目录
    cp -r jiuchongju.war /root/docker-jcj/
    #切换到镜像的制作目录 /root/docker-jcj
    cd /root/docker-jcj
    #启动镜像制作,调用Dockerfile 文件制作一个jcj的镜像,这个镜像会把jiuchongju.war打包部署到镜像里供使用。注意命令行的“.”,表示当前目录构建
    docker build -t jcj .
    
    1. tomcat6.sh环境变量声明脚本
    #!/bin/bash
    export JAVA_HOME=/app/jdk1.6.0_45
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export TOMCAT_HOME=/app/tomcat6
    export PATH=$TOMCAT_HOME/bin:$PATH
    exec $TOMCAT_HOME/bin/catalina.sh run
    
    1. Dockerfile 构建镜像脚本
    FROM ubuntu:16.04
    
    MAINTAINER example <52859273@qq.com>
    
    WORKDIR /app
    
    COPY jdk-6u45-linux-x64.bin /app/jdk-6u45-linux-x64.bin
    COPY tomcat6.tar /app/tomcat6.tar
    
    RUN chmod 777 jdk-6u45-linux-x64.bin
    RUN ./jdk-6u45-linux-x64.bin
    RUN tar -zxvf tomcat6.tar
    RUN rm -rf jdk-6u45-linux-x64.bin
    RUN rm -rf tomcat6.tar
    
    COPY jiuchongju.war /app/tomcat6/webapps/jiuchongju.war
    
    #for debug
    #COPY run.sh /app/run.sh
    #RUN chmod +x /app/run.sh
    #ENTRYPOINT ["/app/run.sh"]
    
    COPY tomcat6.sh /app/tomcat6.sh
    RUN chmod +x /app/tomcat6.sh
    ENTRYPOINT ["/app/tomcat6.sh"]
    
    EXPOSE 8080
    
    1. run.sh 调试脚本
    #!/bin/bash
    sleep 2
    while true
    do
    echo 1111
    sleep 180
    done
    

    相关文章

      网友评论

          本文标题:Jenkins+Maven+Docker持续构建2-镜像构建

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