个人项目部署方案

系统部署

旧部署方式是在 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 集群

原文

转载于:https://www.cnblogs.com/--xiaoyao--/p/11301505.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值