• 项目部署(三、docker+Jenkins+springboot部署)


    使用第一节springboot项目,根节点创建的Dockerfile文件即可使用

    #jdk版本
    FROM java:8
    # 作者
    MAINTAINER wangkang
    #系统编码
    ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
    #设置时区
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    #这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
    VOLUME /tmp
    #复制target/spring-boot-web-demo.jar到容器里WORKDIR下
    ADD target/springboot-0.0.1.jar  springboot.jar
    #暴露端口
    EXPOSE 8080
    #启动容器时的进程
    ENTRYPOINT ["java","-jar","springboot.jar"]

    jenkins使用同前一节,只是更改脚本:

    BUILD_ID=dontKillMe
    buildPath=/home/JenkinsWorkspace/workspace/springboot
    serverName=springboot-0.0.1
    cd $buildPath
    # 容器id
    CID=$(docker ps | grep "$serverName" | awk '{print $1}')
    #镜像id
    IID=$(docker images | grep "$serverName" | awk '{print $3}')
    
    # 如果容器正在运行,停止它
    if [ -n "$CID" ]; then
        echo "容器id为$CID"
        docker stop "$CID"
        docker rm "$CID"
    fi
    # 构建镜像
    if [ -n "$IID" ]; then
        echo "存在$serverName,IID=$IID"
        docker rmi "$IID"
        docker build -t $serverName .
    else
        echo "不存在$serverName,开始构建镜像"
        docker build -t $serverName .
    fi
    
    echo "创建并启动新容器"
    docker run --name $serverName -d -p 8080:8089 $serverName
    echo "启动成功"
  • 相关阅读:
    springIOC 原理
    jeesite异步分页
    yum
    乐观锁原理
    equlas(),hashcode(),hashset,hashmap
    链接收藏
    java单词
    jeesite优化
    SailingEase .NET Resources Tool (.NET 多语言资源编辑器)转
    C#基本语法
  • 原文地址:https://www.cnblogs.com/Unlimited-Blade-Works/p/13275013.html
Copyright © 2020-2023  润新知