糖醋鱼的小破站

🐟生成长记

什么都明白的人 最温柔也最冷漠
你一定要记得 别让一直温柔待你的人寒了心
我是一个不会哭的孩子,所以一直没有糖吃。
  menu
109 文章
4 评论
6886 浏览
0 当前访客
ღゝ◡╹)ノ❤️

自动化部署学习之——自动化部署流程设计

2-自动化部署流程设计

1. 流程

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

2. 详细流程

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

3. 脚本流程

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

标题:自动化部署学习之——自动化部署流程设计
作者:expoli
地址:https://expoli.tech/articles/2019/08/18/1566110249789.html

评论