type
Post
status
Published
slug
2019/08/18/1566110249789
summary
自动化部署学习之——自动化部署流程设计
tags
工具
Linux
运维
category
Linux
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 跟其他用户之间不需要输密码、密钥的认证
ssh-keygen -t rsa vim authorized_keys chmod 600 authorized_keys

3. 脚本流程

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