自己动手部署 syncd 2.0 ,一个简单好用的源代码自动化部署工具
spooking 归属分类: 运维 评论数: 0 个

什么是 Syncd?

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

项目地址

Github: https://github.com/dreamans/syncd
Gitee: https://gitee.com/dreamans/syncd

安装部署

  1. 下载源码后,在项目目录的 syncd/main.go 就是主文件,我直接拉了一份出来,编译成linux版本。
  2. 在服务器上 建立一个syncd 的目录,结构如下:

    ├── bin // bin目录存放Syncd的可执行文件
    │   └── syncd    //刚刚编译出来的主程序
    ├── etc // bin/syncd 程序运行时若不指定配置文件,则会在etc目录中查找syncd.ini作为默认配置
    │   └── syncd.ini
    ├── log
    ├── public // 静态资源目录
     ├── css
     ├── favicon.ico
     ├── fonts
     ├── img
     ├── index.html
     └── js
    └── resource // 资源目录
     └── sql

    以上文件除了主文件需要自己边意外,其他都可以从项目源码中找到,复制过来就行。
    唯一需要修改的就是 syncd.ini ,需要修改自己的 mysql 信息,其他的可以暂时不动。

通过 ./syncd 启动程序
然后访问 http://localhost:8878 就可以看到界面了。
默认账号是:syncd 密码:111111

如何配置

需要配置的其实只有两部分,一个git登录,一个ssh客户机的登录。

1.通过 ssh-keygen 建立秘钥和公钥。

ssh-keygen -C "user@test.com"

2.使用 ssh-copy-id 安装公钥到客户机。

ssh-copy-id -i ~/.ssh/id_rsa.pub user@test.com

3.将 ~/.ssh/id_rsa.pub 的内容,添加到git站点的个人秘钥。

服务器上的配置就这么简单。

syncd中配置项目

划重点:

  1. 项目的仓库地址,格式如下:

    ssh://git@127.0.0.1:22/spooking/xxxxx.git

    这样的设置可以直接使用秘钥登录,不需要每次都在服务器上输密码。

  2. 项目的构建设置,简单的填写,复杂的自己琢磨:

    cd ${env_workspace}
    tar --exclude='.git' -zcvf ${env_pack_file} *
    最重要的是,标本中必须包含最后一行
    tar --exclude='.git' -zcvf ${env_pack_file} *

    没有这一行,构建成功了也无法部署。