• jenkins+docker+rancher+zikui 部署


    确保jenkins 前置插件已经安装,确保jenkis可以打包文件,jenkis服务器安装docker,docker安装参见其他文档

     如果使用私库,由于不支持https,需要修改配置文件参见:https://www.cnblogs.com/ff111/p/15012854.html 常见问题3

    创建一个登陆jenkins服务器的SSH账号,由于jenkins直接执行shell命令是没有权限调用docker命令,为了简便期间,就创建个链接jenkins服务器的账号,执行用root用户去执行,脚本

     创建一个maven项目

     配置源码路径,我是放在git上的

     选择执行后脚本

     执行的脚本

    #!/bin/bash
    echo "↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓开始↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓"
    VAR_DOCKERFILE_PATH="/var/lib/jenkins/workspace/docker_zkui/zkui-master/docker/Dockerfile"
    VAR_PROJECT_TARGET_PATH="/var/lib/jenkins/workspace/docker_zkui/zkui-master/target"
    VAR_PROJECT_NAME="zkui-master"
    VAR_IMAGE_REGISTRY="192.168.88.85:5000"
    VAR_IMAGE_TAG="latest"
    #入参变量打印
    echo "DockerFile文件路径:${VAR_DOCKERFILE_PATH}"
    echo "项目打包路径:${VAR_PROJECT_TARGET_PATH}"
    echo "项目名称和镜像名称:${VAR_PROJECT_NAME}"
    echo "私库地址:${VAR_IMAGE_REGISTRY}"
    echo "镜像标签:${VAR_IMAGE_TAG}"
    #把Dockerfile文件复制到JENKINS 项目target目录下
    cp ${VAR_DOCKERFILE_PATH} ${VAR_PROJECT_TARGET_PATH}
    #进入项目target目录下
    cd ${VAR_PROJECT_TARGET_PATH}
    echo "当前目录:$(cd "$(dirname "$0")";pwd)"
    #构件镜像
    docker build -t ${VAR_IMAGE_REGISTRY}/${VAR_PROJECT_NAME}:${VAR_IMAGE_TAG} .
    echo "构件镜像完成."
    #镜像推送至私库
    docker push ${VAR_IMAGE_REGISTRY}/${VAR_PROJECT_NAME}:${VAR_IMAGE_TAG}
    echo "镜像推送至私库完成."
    echo "开始清理本地历史镜像..."
    ##提取出镜像id
    for i in `docker images | grep -v "IMAGE" | awk '{print $3}'`
    do
    {
    ##删除镜像
    docker rmi -f $i &>/dev/null
    echo "docekr delete $i complete"
    }
    done
    echo "清理本地历史镜像完成."
    echo "↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑结束↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"

    暂未实现私库镜像删除管理,仅提供一个思路,谢谢

  • 相关阅读:
    danci8
    禁止选择文本
    danci6
    danci5
    java 学习编译
    自动代码模板文件
    java 学习5 .io
    java 学习4 callback 回调 和泛型
    java 学习3。集合
    java 学习3。类 和 继承
  • 原文地址:https://www.cnblogs.com/ff111/p/15091153.html
Copyright © 2020-2023  润新知