zoukankan      html  css  js  c++  java
  • 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 "↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑结束↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"

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

  • 相关阅读:
    replace函数的使用(替换单个和全局)
    数据库记录删除方式
    UDP接收百万级数据的解决方案
    早睡早起+微信朋友圈控制在10人以内…
    java Date型时间比较大小
    教会你时间管理的奥秘,提升工作效率。
    大多数人都输给了这个字——等
    二分法查找和普通查找
    王者荣耀里拿个王者有啥了不起,有胆就来挑战一下ApsaraCache源码
    给予Java初学者的学习路线建议
  • 原文地址:https://www.cnblogs.com/ff111/p/15091153.html
Copyright © 2011-2022 走看看