zoukankan      html  css  js  c++  java
  • 个人项目部署方案

    系统部署

    旧部署方式是在 git 的推送回调中执行当前的项目的部署, 由于前段项目存安装依赖, 编译打包等步骤, 直接在当前项目重新部署会导致当前服务挂掉或出现问题.
    时间能持续好几分种, 极其影响体验. 因此准备使用 docker 来优化服务部署.

    新部署

    1. 在项目库增加代码推送 Hook, 地址为 Jenkins 内置的回调 url.
    2. 在 Jenkins 中增加构建任务, 构建脚本如下:
    #!/bin/bash
    
    set -ex
    
    # 进入docker目录
    cd /root/workspace/docker/note
    
    # 更新代码 安装依赖 编译
    git reset --hard HEAD
    git pull origin master
    npm install
    npm run build
    
    # 生成docker 
    tag=note:${BUILD_NUMBER}
    # 生成最新镜像
    docker build --no-cache -t ${tag} .
    # 生成使用镜像
    docker build -t note .
    
    # 删除测试容器
    exist=`docker container ls -a | grep note-test | wc -l`
    if [ "$exist" != "0" ]; then
    	docker container rm -f note-test
    fi
    
    # 启动测试容器
    docker run -d --name note-test -p 3201:3200 note
    # 暂时 10s 确保服务器已启动完毕
    sleep 10
    
    # 测试容器
    curl http://127.0.0.1:3201 >> /dev/null
    # 删除测试容器
    docker container rm -f note-test
    
    # 删除正式容器
    exist=`docker container ls -a | grep note-run | wc -l`
    if [ "$exist" != "0" ]; then
    	docker container rm -f note-run
    fi
    
    # 启动正式容器
    docker run -d --name note-run -p 3200:3200 note
    

    知识

    • jenkins 自动化构建
    • docker 容器技术

    TODO

    • nginx 负载均衡
    • k8s 集群

    原文

  • 相关阅读:
    hadoop3.0.0测验
    红外遥控器通信原理_红外遥控器协议
    N76E003之WDT(看门狗定时器)
    N76E003之IIC
    电阻之上拉电阻与下拉电阻详解(转)
    GPIO输入输出各种模式(推挽、开漏、准双向端口)详解(转)
    N76E003之IO控制
    N76E003之SPI
    51单片机的idata,xdata,pdata,data的详解(转)
    N76E003之ISP
  • 原文地址:https://www.cnblogs.com/--xiaoyao--/p/11301505.html
Copyright © 2011-2022 走看看