• saltstack 迭代项目到客户端并结合jenkins自动发布多台服务器


    前面已经讲解了Webhook实现Push代码后的jenkins自动构建,接下来通过结合slatstack 实现多台机器的项目代码发布。

    利用saltstack中file.recurse方法,运用该模块可以将定义的目录下所有文件都推送到远端服务器指定的位置,而且只需要一条命令,接下来我们就演示一下该方法的用法。

    master 角色服务器上

    saltstack配置文件中修改file_roots路径:

    grep "file_roots" -A3 -B3 /etc/salt/master | grep -vE "(^#|^$)"

    这里为了方便测试,所以直接将salt的资源路径改到了nginx指向的项目根目录。

     1 [root@iz2ze4j1iyce3b7muq6jtiz web]# pwd
     2 /home/web
     3 [root@iz2ze4j1iyce3b7muq6jtiz web]# vim 
     4 .idea/         index.php      mall-api-salt/ swoole/        test.sls       
     5 [root@iz2ze4j1iyce3b7muq6jtiz web]# vim test.sls 
     6 test:
     7   file.recurse:
     8      - source: salt://mall-api-salt
     9      - name: /var/www/mall-api
    10      - user: nginx
    11      - group: nginx
    12      - dir_mode: 755
    13      - file_mode: 644
    14      - include_enpty: True

    注释:

    file_rsync:sls文件名,这里是file_rsync.sls
    file.recurse:调用file模块下的recurse方法
    source:  salt://tools :定义源文件,即将要推送走的文件和路径
    name:  /opt/tools:推送到远端服务器上的位置和名称
    user:  root:文件(目录)的属主
    group:  root:文件(目录)的用户组
    dir_mode:  755 目录的权限为755
    file_mode:  644 文件的权限为644
    makedirs:  True 如果目录不存在则创建
    backup:  minion 开启备份
    include_enpty: True 包含空文件(目录)
    执行命令:salt 对象 state.sls sls文件

    利用如下命令测试:

    salt '*' state.sls test

    登录到minion角色服务器

    可以看到已经成功

    结合jenkins实现自动化发布代码到多台

    有了前面的基础接下来实现需要的功能非常容易,只需要让jenkins构建成功后,执行salt的脚本即可,具体如下图。

  • 相关阅读:
    php+GTK2 学习第二篇
    PHPMailer + qq邮箱 实现邮件发送
    HTTP状态码200、301、403、404、500等(转)
    LNMP环境搭建(转载)
    PHP+GTK2 初体验,简单计算器客户端
    mysql 用户权限管理(转)
    提高php执行效率的10条编程习惯(转)
    添加php拓展(以phppcntl及phpredis及phppcntl为例)
    centos7 &后台运行 受终端关闭影响问题
    sklearn学习笔记之简单线性回归
  • 原文地址:https://www.cnblogs.com/loveyouyou616/p/8745068.html
Copyright © 2020-2023  润新知