Sign inSign up

handyoss/syncd

By handyoss

•Updated over 3 years ago

Syncd - 自动化部署工具

Image
0

52

handyoss/syncd repository overview

⁠docker

docker run -d -v /syncd/etc/syncd.ini:/syncd/etc/syncd.ini  -p 8878:8878 handyoss/syncd:alpine-v2.0.0
# 使用docker
# /tmp/syncd_data:打包数据目录
# docker需共享执行命令和sock,以及登录信息/root/.docker
docker run -d -v /syncd/etc/syncd.ini:/syncd/etc/syncd.ini -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /tmp/syncd_data:/tmp/syncd_data  -p 8878:8878 handyoss/syncd:alpine-v2.0.0
# 使用golang环境,可以将golang挂载进容器
-v /usr/local/go:/usr/local/go -e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin

⁠syncd.ini

[syncd]
; 项目访问域名, 结尾不要加 `/`
app_host = http://localhost:8878

; 工作空间
local_space = /tmp/syncd_data

; 远端机器工作空间
remote_space = ~/.syncd

; AES加密/解密使用的私钥
; 秘钥需要进行base64编码
; 16 => AES-128, 24 => AES-192, 32 => AES-256
cipher_key = pG1L62EM0cPIIOwusQsbcV8Cs6j/M1RxLoXIZylWUC4=

[serve]
; HTTP服务监听的端口
addr = :8878

; 是否开启前端资源服务
; 开启后Syncd前端资源将不再依赖nginx等web服务
; 1 - 开启
; 0 - 关闭
fe_serve_enable = 1

; 读超时时间设置, 单位秒
read_timeout = 300

; 写超时时间设置, 单位秒
write_timeout = 300

; 空闲连接超时设置, 单位秒
idle_timeout = 300

[database]
; 数据库连接信息
; 必须是utf8mb4编码
;unix = 
;max_idle_conns = 100
;max_open_conns = 200
;conn_max_life_time = 500
host = 127.0.0.1
port = 3306
user = syncd
password = syncd
dbname = syncd

[log]
; 日志输出路径
; path = stdout - 打印到标准输出
; path = /path/file - 输出到文件
path = stdout

[mail]
; 是否开启邮件发送功能
; 0 - 关闭
; 1 - 开启
enable = 0

; 邮件smtp配置
smtp_host = smtp.exmail.qq.com
smtp_port = 465
smtp_user = 
smtp_pass = 

⁠sql

# ************************************************************
# Copyright 2019 syncd Author. All Rights Reserved.
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file.
# ************************************************************

create database `syncd` default charset utf8mb4;

use `syncd`;

DROP TABLE IF EXISTS `syd_deploy_apply`;

CREATE TABLE `syd_deploy_apply` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `space_id` int(11) unsigned NOT NULL DEFAULT '0',
  `project_id` int(11) unsigned NOT NULL DEFAULT '0',
  `name` varchar(100) NOT NULL DEFAULT '',
  `description` varchar(500) NOT NULL DEFAULT '',
  `branch_name` varchar(100) NOT NULL DEFAULT '',
  `commit_version` varchar(100) NOT NULL DEFAULT '',
  `audit_status` int(11) unsigned NOT NULL DEFAULT '0',
  `audit_refusal_reasion` varchar(500) NOT NULL DEFAULT '',
  `status` int(11) unsigned NOT NULL DEFAULT '0',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0',
  `rollback_id` int(10) unsigned NOT NULL DEFAULT '0',
  `rollback_apply_id` int(10) unsigned NOT NULL DEFAULT '0',
  `is_rollback_apply` int(11) unsigned NOT NULL DEFAULT '0',
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `idx_space_project` (`space_id`,`project_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `syd_deploy_build`;

CREATE TABLE `syd_deploy_build` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `apply_id` int(11) unsigned NOT NULL DEFAULT '0',
  `start_time` int(11) unsigned NOT NULL DEFAULT '0',
  `finish_time` int(11) unsigned NOT NULL DEFAULT '0',
  `status` int(11) unsigned NOT NULL DEFAULT '1',
  `tar` varchar(2000) NOT NULL DEFAULT '',
  `output` mediumtext NOT NULL,
  `errmsg` text NOT NULL,
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_apply_id` (`apply_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `syd_deploy_task`;

CREATE TABLE `syd_deploy_task` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `apply_id` int(11) unsigned NOT NULL DEFAULT '0',
  `group_id` int(11) unsigned NOT NULL DEFAULT '0',
  `status` int(11) unsigned NOT NULL DEFAULT '0',
  `content` text NOT NULL,
  `ctime` int(11) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_apply_id` (`apply_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `syd_project`;

CREATE TABLE `syd_project` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `space_id` int(11) unsigned NOT NULL DEFAULT '0',
  `name` varchar(100) NOT NULL DEFAULT '',
  `description` varchar(500) NOT NULL DEFAULT '',
  `need_audit` int(11) unsigned NOT NULL DEFAULT '0',
  `status` int(11) unsigned NOT NULL DEFAULT '0',
  `repo_url` varchar(500) NOT NULL DEFAULT '',
  `deploy_mode` int(11) unsigned NOT NULL DEFAULT '0',
  `repo_branch` varchar(100) NOT NULL DEFAULT '',
  `pre_release_cluster` int(11) unsigned NOT NULL DEFAULT '0',
  `online_cluster` varchar(2000) NOT NULL DEFAULT '',
  `deploy_user` varchar(50) NOT NULL DEFAULT '',
  `deploy_path` varchar(500) NOT NULL DEFAULT '',
  `build_script` text NOT NULL,
  `build_hook_script` text NOT NULL,
  `deploy_hook_script` text NOT NULL,
  `pre_deploy_cmd` text NOT NULL,
  `after_deploy_cmd` text NOT NULL,
  `audit_notice` varchar(2000) DEFAULT NULL,
  `deploy_notice` varchar(2000) DEFAULT NULL,
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `syd_project_member`;

CREATE TABLE `syd_project_member` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `space_id` int(11) unsigned NOT NULL DEFAULT '0',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0',
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `syd_project_space`;

CREATE TABLE `syd_project_space` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL DEFAULT '',
  `description` varchar(2000) NOT NULL DEFAULT '',
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `syd_server`;

CREATE TABLE `syd_server` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `group_id` int(11) unsigned NOT NULL DEFAULT '0',
  `name` varchar(100) NOT NULL DEFAULT '',
  `ip` varchar(100) NOT NULL DEFAULT '',
  `ssh_port` int(11) unsigned NOT NULL DEFAULT '0',
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `syd_server_group`;

CREATE TABLE `syd_server_group` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL DEFAULT '',
  `ctime` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `syd_user`;

CREATE TABLE `syd_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `role_id` int(11) unsigned NOT NULL DEFAULT '0',
  `username` varchar(20) NOT NULL DEFAULT '',
  `password` char(32) NOT NULL DEFAULT '',
  `salt` char(10) NOT NULL DEFAULT '',
  `truename` varchar(10) NOT NULL DEFAULT '',
  `mobile` varchar(20) NOT NULL DEFAULT '',
  `email` varchar(500) NOT NULL DEFAULT '',
  `status` int(11) unsigned NOT NULL DEFAULT '0',
  `last_login_time` int(11) unsigned NOT NULL DEFAULT '0',
  `last_login_ip` varchar(50) NOT NULL DEFAULT '',
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `idx_username` (`username`),
  KEY `idx_email` (`email`(20))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `syd_user` (`id`, `role_id`, `username`, `password`, `salt`, `truename`, `mobile`, `email`, `status`, `last_login_time`, `last_login_ip`, `ctime`)
VALUES
	(1,1,'syncd','c2a8d572366f7cf7bfc8b485f41bfd1b','u0EMxuE6qh','Syncd','','',1,0,'',0);

DROP TABLE IF EXISTS `syd_user_role`;

CREATE TABLE `syd_user_role` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL DEFAULT '',
  `privilege` varchar(2000) NOT NULL DEFAULT '',
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `syd_user_role` (`id`, `name`, `privilege`, `ctime`)
VALUES
	(1,'管理员','2001,2002,2003,2004,2100,2101,2102,2201,2202,2203,2204,2205,2206,2207,3001,3002,3004,3003,3101,3102,3103,3104,4001,4002,4003,4004,4101,4102,4103,4104,1001,1002,1006,1003,1004,1005',0);

DROP TABLE IF EXISTS `syd_user_token`;

CREATE TABLE `syd_user_token` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) unsigned NOT NULL DEFAULT '0',
  `token` varchar(100) NOT NULL DEFAULT '',
  `expire` int(11) unsigned NOT NULL DEFAULT '0',
  `ctime` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

账号:syncd 密码:111111

Tag summary

Content type

Image

Digest

sha256:4d188afd9…

Size

24.6 MB

Last updated

over 3 years ago

docker pull handyoss/syncd:alpine-v2.0.0