type
status
slug
summary
tags
category
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM

2-自动化部署流程设计

1. 流程

  1. 获取代码(直接拉取)
  1. 编译(可选)
  1. 配置文件放进去
    1. 预发布环境
  1. 打包(加快传输)
    1. 小文件占用一个连接
  1. SCP到目标服务器
    1. 不需要密码验证
  1. 将目标服务器移除集群
    1. nginx
    2. haproxy
  1. 解压
  1. 放置到webroot(文件名都是一样的)
  1. SCP 差异文件
    1. 所有环境基础包
  1. 重启(可选)
  1. 测试
  1. 加入集群

2. 详细流程

  1. 用户 所有的 web 服务,都应该使用普通用户。所有的web服务都不应该监听80端口、除了负载均衡。8080
  1. useraddd www 给www 指定一个固定的 uid gid
  1. 保证 www 跟其他用户之间不需要输密码、密钥的认证

3. 脚本流程

  1. 先判断锁文件、别人在执行就直接退出。
  1. 然后通过读取 $1 引进来部署的方法、是部署还是回滚
  1. 部署流程
    1. 先上锁
    2. 从git上获取文件
    3. 编译
    4. 拷贝配置文件过去
    5. 打包并重命名
    6. scp 到所有机器上
    7. 分组进行部署
      1. 先将机器移出集群
    8. 分组进行测试
      1. 测试失败直接删除锁文件并退出
      2. 测试成功加入集群
    9. 解除加锁
自动化部署学习之——自动化部署概述Windows 开机自启动特定虚拟机