美文网首页
自动化部署工具Syncd介绍

自动化部署工具Syncd介绍

作者: mcknight | 来源:发表于2020-08-27 17:03 被阅读0次

    Syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率。官网地址:https://syncd.cc/

    特性

    • Go语言开发,编译简单、运行高效
    • Web界面访问,交互友好
    • 权限模型灵活自由
    • 支持自定义构建
    • 支持Git仓库
    • 支持分支、Tag上线
    • 部署Hook支持,可扩展性强
    • 完善的上线工作流
    • 邮件通知机制

    部署流程

    这是我自己通过测试发现的syncd部署上线的流程,看完这个流程再结合自己的需求是否使用该工具

    • 从git仓库clone代码到syncd所属服务器上
    • 通过tar命令将项目压缩成一个文件
    • 通过scp命令把压缩文件拷贝到配置好的服务器上
    • 在目标服务器上解压文件
    • 完成

    安装syncd

    环境需求

    操作系统
    Linux / macOS + Bash. 需要注意的是Syncd不支持Win系统。
    Go 编译环境
    Syncd依赖 Go1.11+ 编译环境,可前往官方网站国内镜像 下载安装。
    MySQL
    MySQL 5.6+
    Git
    升级操作系统Git到最新版本。

    安装

    通过命令即可快速安装,如果出现报错,检查一下环境是否满足需求

     curl https://syncd.cc/install.sh | bash
    

    导入数据库

    数据库文件位于syncd安装目录下的resource/sql文件夹中,通过数据库导入命令,将数据导入数据库中。

    配置文件

    配置文件为syncd-deploy/etc/syncd.ini,其中的配置简单易懂,主要修改数据库相关配置即可

    启动

    进入到syncd-deploy目录下的bin文件夹中,执行./syncd即可运行,在浏览器中打开http://IP:8878即可进入到登录页。登录账号:syncd 密码:111111

    使用

    项目空间

    项目空间是项目的基本组织单元,是进行项目和多用户隔离和访问控制的主要边界。
    项目 -> 空间管理 -> 新增项目空间

    image.png

    项目管理

    项目 -> 项目管理 -> [切换项目空间] -> 新增项目

    image.png

    成员管理

    管理成员所属项目
    项目 -> 成员管理 -> [切换项目空间] -> 添加新成员

    image.png

    集群管理

    管理服务器集群
    服务器 -> 集群管理 -> 新增集群

    image.png

    服务器管理

    管理集群下的服务器,部署服务器(Syncd服务所在的服务器)与生产服务器(代码部署目标机)之间通过ssh协议通信,所以需要将部署服务器的公钥 (一般在这里: $HOME/.ssh/id_rsa.pub)加入到生产机的信任列表中(一般在这里 $HOME/.ssh/authorized_keys

    image.png

    构建配置

    配置支持的变量只有两个

    • ${env_workspace}
      代码仓库本地副本目录
    • ${env_pack_file}
      打包文件绝对地址,构建完成后将需要部署到线上的代码打包到此文件中,必须使用 tar -zcf 命令进行打包。
      部署模块会将此压缩包分发到目标主机并解压缩到指定目录,请按照要求打包,否则会部署失败。
      配置示例
    cd ${env_workspace}
    tar -zcvf ${env_pack_file} *
    

    新建上线申请单

    • 选择项目


      image.png
    • 填写上线单


      image.png

    上线

    image.png
    image.png

    总结

    Syncd看上去功能比较简单,但是针对小项目的集群发布比较容易。
    参考:https://syncd.cc/docs/#/

    相关文章

      网友评论

          本文标题:自动化部署工具Syncd介绍

          本文链接:https://www.haomeiwen.com/subject/dvacsktx.html