Syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率。官网地址:https://syncd.cc/
特性
1.Go语言开发,编译简单、运行高效 2.Web界面访问,交互友好 3.权限模型灵活自由 4.支持自定义构建 5.支持Git仓库 6.支持分支、Tag上线 7.部署Hook支持,可扩展性强 8.完善的上线工作流 9.邮件通知机制 10.视频教程
部署流程
这是我自己通过测试发现的syncd部署上线的流程,看完这个流程再结合自己的需求是否使用该工具
1.从git仓库clone代码到syncd所属服务器上 2.通过tar命令将项目压缩成一个文件 3.通过scp命令把压缩文件拷贝到配置好的服务器上 4.在目标服务器上解压文件 5.完成 6.视频教程
安装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
使用 项目空间 项目空间是项目的基本组织单元,是进行项目和多用户隔离和访问控制的主要边界。 项目 -> 空间管理 -> 新增项目空间
项目管理 项目 -> 项目管理 -> [切换项目空间] -> 新增项目
成员管理 管理成员所属项目 项目 -> 成员管理 -> [切换项目空间] -> 添加新成员
集群管理 管理服务器集群 服务器 -> 集群管理 -> 新增集群
服务器管理 管理集群下的服务器,部署服务器(Syncd服务所在的服务器)与生产服务器(代码部署目标机)之间通过ssh协议通信,所以需要将部署服务器的公钥 (一般在这里: $HOME/.ssh/id_rsa.pub
)加入到生产机的信任列表中(一般在这里 $HOME/.ssh/authorized_keys
)
构建配置 配置支持的变量只有两个 ${env_workspace}
代码仓库本地副本目录 ${env_pack_file}
打包文件绝对地址,构建完成后将需要部署到线上的代码打包到此文件中,必须使用 tar -zcf 命令进行打包。 部署模块会将此压缩包分发到目标主机并解压缩到指定目录,请按照要求打包,否则会部署失败。视频教程 配置示例
cd ${env_workspace}
tar -zcvf ${env_pack_file} *
新建上线申请单 选择项目 填写上线单
上线
总结 Syncd看上去功能比较简单,但是针对小项目的集群发布比较容易。参考:https://syncd.cc/docs/#/
※部分文章来源于网络,如有侵权请联系删除;更多文章和资料|点击后方文字直达 ↓↓↓ 100GPython自学资料包 阿里云K8s实战手册 [阿里云CDN排坑指南]CDN ECS运维指南 DevOps实践手册 Hadoop大数据实战手册 Knative云原生应用开发指南 OSS 运维实战手册 云原生架构白皮书 Zabbix企业级分布式监控系统源码文档 10G大厂面试题戳领