zoukankan      html  css  js  c++  java
  • 项目部署(三、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 "启动成功"
  • 相关阅读:
    利用crontab每天定时备份MySQL数据库
    MySQL基本SQL语句之数据插入、删除数据和更新数据
    Vim命令合集
    ubuntu下手动安装php-amqp模块教程
    变量作用域(总结篇)
    变量作用域(示例篇)
    定义一个函数
    正则表达式
    re模块中常用功能函数
    python内置函数
  • 原文地址:https://www.cnblogs.com/Unlimited-Blade-Works/p/13275013.html
Copyright © 2011-2022 走看看