Summer's Blog
酷炫主页
✨运维
🎉安装
👀踩坑
  • k8s
  • shell
  • python
  • redis
  • elasticsearch
  • mysql
  • ceph
  • spark
  • 关于
  • 思维
  • 命令
  • 友链
  • 分类
  • 标签
  • 归档
GitHub

Summer———夏苏文

💨运维界的前行者
酷炫主页
✨运维
🎉安装
👀踩坑
  • k8s
  • shell
  • python
  • redis
  • elasticsearch
  • mysql
  • ceph
  • spark
  • 关于
  • 思维
  • 命令
  • 友链
  • 分类
  • 标签
  • 归档
GitHub
  • K8s

    • K8s是什么
    • K8s组件介绍
    • K8s架构
    • k8s存储节点和POD存储数据
    • 传统部署方式与k8s部署区别
    • k8s的pod状态表
    • pv和pvc
    • K8s常用命令
    • k8s+jenkins自动部署前后台
    • shell

    • spark

    • Python

    • Redis

    • ceph

    • Elasticsearch

    • Mysql

    • 学习
    • K8s
    summer
    2021-02-24

    k8s+jenkins自动部署前后台

    这里记录如何通过 jenkins 打包发布 springboot 后台应用至 K8s 集群和 jenkins 打包发布 vue 前端应用至 K8s 集群,个人编写只供参考!

    # 1.jenkins打包发布springboot后台应用至K8s集群

    • 整体思路:
    1. Jenkins 通过SVN拉取远端源码
    2. springboot后台应用打包zip
    3. 把应用后台包解压,并通过Dockerfile打成Docker镜像
    4. 将镜像上传到Docker私有仓库harbor ,这里我将新的tag设置为构建时的编号
    5. 删除老的Docker镜像,运行新的Docker镜像 —— shell脚本
    6. k8s集群apply更改后的yml文件,直接拉取harbor仓库新镜像完成更新

    # 2.jenkins打包发布vue前端应用至K8s集群

    • 整体思路

    目前k8s集群中前端考虑更新频率高,所以未使用打入完整html的nginx镜像

    选择将html挂载在外部NFS文件系统中,所以这里只需更新html/下的文件即可

    # 3.jenkins配置注意事项

    1. Maven Node SSH环境需要提前配置好
    • Maven配置路径:Manage Jenkins ---> Global Tool Configuration

    • SSH配置路径: Manage Jenkins ---> 配置

    • 环境变量配置

    • 一些必要的插件

    Maven Integration,Publish Over SSH,Subversion...

    # 4.前端打包发布步骤

    1. 从SVN获取最新代码

    1. 执行vue打包命令,生成dist包

    1. 将打好的包推送到ssh远程服务器并执行更新脚本

    # 5.后台打包发布步骤

    1. spring项目构建pom.xml文件打包

    2. 将打好的包推送到ssh远程服务器并执行命令

    # 6.使用到的脚本参考

    • 前端
    #!/bin/bash
    function zip_web() {
        pushd /home/summer/nginx/html/ >/dev/null 2>&1
        zip -q -r web.$(date +%Y%m%d%H%M).zip web/
        if [ $? -eq 0 ]; then
            echo "web备份完成!"
            rm -rf web
        else
            echo "web备份失败!"
            exit 0
        fi
        popd >/dev/null 2>&1
    }
    zip_web
    
    function update_web() {
        pushd /home/summer/nginx/temp/webtar >/dev/null 2>&1
        unzip -o dist.zip -d  /home/summer/nginx/html/ &>/dev/null
        mv /home/summer/nginx/html/dist /home/summer/nginx/html/web 
        chown -R summer:summer /home/summer/nginx/html/web 
        popd >/dev/null 2>&1
    }
    update_web
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    • 后台
    #!/bin/bash
    ## 进入zip包目录
    cd /home/summer/Docker/Docker
    
    ## 解压到构建docker镜像目录
     unzip -o package.zip -d ../build/
    
    ## 选择Dockerfile文件
    cp ../Dockerfile  ../build/
    
    ## 执行打包镜像脚本
    ##  ./../build.sh 
    docker rmi background:latest
    ## docker rmi 192.168.0.52:8084/summer/background:v1
    
    cd /home/summer/Docker/build
    
    echo "$(date +"%Y-%m-%d %H:%M:%S")===开始构建===" 
    docker build -t background:latest .
    
    docker tag background:latest 192.168.0.52:8084/summer/background:${BUILD_NUMBER} 
    
    docker push 192.168.0.52:8084/summer/background:${BUILD_NUMBER} 
    
    echo "$(date +"%Y-%m-%d %H:%M:%S")===push成功===" 
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    • 个人编写只供参考,

    待更新

    编辑
    #K8s
    上次更新: 3/5/2021, 6:34:32 PM
    K8s常用命令
    自动重启应用脚本

    ← K8s常用命令 自动重启应用脚本→

    最近更新
    01
    三大漏洞扫描工具报告获取
    05-24
    02
    MongoDB使用iscsi
    03-04
    03
    Python通过librbd操作ceph
    02-28
    更多文章>
    Theme by Vdoing | Copyright © 2019-2022 夏苏文 | MIT License

    网站已在灾难中运行:

    总访问量 次 | 您是第 位访客
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式