Syncd 安装部署

目录

简介:

安装准备

开始安装

方案1,(国内用户无法成功, 因为无法拉取 go.lang.org)

方案2(修稿 mod 替换 go.lang.org 依赖)

修改刚刚  install.sh

之后执行刚刚修改的脚本

新建mysql的库和用户

导入数据库

修改 syncd 的数据库信息,

运行 syncd


简介:

Syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率。

环境需求

操作系统

Linux / macOS + Bash. 需要注意的是Syncd不支持Win系统。

Go 编译环境

Syncd依赖 Go1.11+ 编译环境,可前往官方网站 或 国内镜像 下载安装。

操作可以参考

https://blog.csdn.net/qq_21047625/article/details/89053569

MySQL

MySQL 5.6+

安装参考: https://mp.csdn.net/postedit/89053070

Git

升级操作系统Git到最新版本。

参考官方文档: https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git

原理:

Syncd通过 git-ssh 方式创建仓库本地副本,通过运行项目构建脚本来生成可发布的代码包,使用 scp 串行/并行地向生产服务器分发并解包部署。

Syncd与生产服务器通过ssh交互,因此Syncd运行用户的 ssh-key 必须加入到目标主机的用户ssh-key信任列表中。

安装准备

新建对应的用户和用户组

[syncd@VM_121_116_centos ~]$ groupadd syncd
[syncd@VM_121_116_centos ~]$ useradd -g syncd syncd
[syncd@VM_121_116_centos ~]$ passwd syncd

新建目录

[syncd@VM_121_116_centos ~]$ mkdir -p /user/local/syncd

开始安装

国内用户无法访问go.lang.org ,采用方案2

方案1,(国内用户无法成功, 因为无法拉取 go.lang.org)

到新建的目录下执行命令

[syncd@VM_121_116_centos ~]$ cd /usr/local/syncd/
[syncd@VM_121_116_centos syncd]$ curl https://syncd.cc/install.sh | bash

错误

执行过程中如果报以下错误, 是因为服务器无法访问 go.lang.org , 请采用方案2

build command-line-arguments: cannot load golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
make: *** [build] Error 1
cp: cannot stat ‘/home/syncd/.syncd-repo/output’: No such file or directory

方案2(修稿 mod 替换 go.lang.org 依赖)

修改刚刚  install.sh

先用wget下载刚刚用的 sh

 

[syncd@VM_121_116_centos syncd]$ cd /usr/local/syncd/
[syncd@VM_121_116_centos syncd]$ wget https://syncd.cc/install.sh

修改 install.sh

[syncd@VM_121_116_centos syncd]$ vim install.sh 

代码里面加上到指定位置.

##替换依赖解决翻墙
echo "replace (" >> go.mod
echo "        golang.org/x/crypto  => github.com/golang/crypto latest" >> go.mod
echo "        golang.org/x/net  => github.com/golang/net latest" >> go.mod
echo "        golang.org/x/sys => github.com/golang/sys latest" >> go.mod
echo "        cloud.google.com/go => github.com/googleapis/google-cloud-go latest" >> go.mod
echo ")" >> go.mod

注意, 版本更新后如果还有其他的包无法下载, 可以依据上面的方式替换成 github的源

之后执行刚刚修改的脚本

[syncd@VM_121_116_centos syncd]$ chmod 755 install.sh 
[syncd@VM_121_116_centos syncd]$ ./install.sh 

目录下面出现 syncd-deploy 文件夹表示成功

新建mysql的库和用户

登录mysql

[root@VM_121_116_centos ~]# mysql -u root -p

新建数据库和用户

注意: 尽量不要使用utf8 编码, 要使用的话,  请使用 utf8mb4

create schema syncd default character set utf8mb4;

use mysql

CREATE USER syncd IDENTIFIED BY 'QQ123qaz!';

GRANT ALL PRIVILEGES ON syncd.* TO syncd@'%';

flush privileges; 

导入数据库

 进入 刚刚建的用户

[root@VM_121_116_centos ~]# mysql -u syncd -p

选择 syncd 数据库,执行  syncd-deploy/resource/sql/  脚本, 脚本文件名依据版本不同可自行查看

执行脚本要注意, 下面截图中所有表的字符集,  记得改成和mysql的库一致

改完之后导入即可

mysql> use syncd
Database changed
mysql> source /usr/local/syncd/syncd-deploy/resource/sql/syncd_v2.0.0.sql
ERROR 1007 (HY000): Can't create database 'syncd'; database exists

这里的错误是因为我们自己手工创建了 syncd 数据库, 无需关心

修改 syncd 的数据库信息,

[syncd@VM_121_116_centos syncd]$ vim syncd-deploy/etc/syncd.ini 

运行 syncd

[syncd@VM_121_116_centos syncd]$ cd syncd-deploy/
[syncd@VM_121_116_centos syncd-deploy]$ nohup ./bin/syncd

访问

默认用户密码

syncd/111111

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章