溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Syncd開源自動化部署工具有什么用

發(fā)布時間:2021-12-08 13:48:15 來源:億速云 閱讀:117 作者:小新 欄目:云計算

這篇文章將為大家詳細講解有關(guān)Syncd開源自動化部署工具有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

官網(wǎng)地址:https://gitee.com/dreamans/syncd/issues

syncd是一款開源的代碼部署工具,它具有簡單、高效、易用等特點,可以提高團隊的工作效率.視頻詳解

目前只支持類Linux系統(tǒng).

特性

Go語言開發(fā),編譯簡單、運行高效

Web界面訪問,交互友好

靈活的角色權(quán)限配置

支持Git倉庫

分支、tag上線

部署hook支持

完善的上線工作流

郵件通知機制

原理 Syncd開源自動化部署工具有什么用 Git Syncd服務(wù)通過git-ssh(或password)方式從倉庫中拉取指定tag(分支)代碼.

構(gòu)建

運行配置好的構(gòu)建腳本, 編譯成可上線的軟件包

在這一環(huán)節(jié)中,可運行單元測試 (例如 go test php phpunit, 下載依賴 (如 go: glide install php: composer install), 編譯軟件包 (如 js: npm build go: go build xx.go java: javac xx.java c: cc xx.c) 等.

分發(fā)

通過 scp 命令分發(fā)軟件包到各機房生產(chǎn)服務(wù)器的臨時目錄, 遠程執(zhí)行 pre-deploy 配置的命令, 執(zhí)行完畢后解壓縮軟件包到目標目錄,然后執(zhí)行 post-deploy 命令

分發(fā)上線過程是串行執(zhí)行,并且任意步驟執(zhí)行失敗整個上線單會終止上線并將狀態(tài)置為上線失敗,需要點擊 再次上線 重試.

將來會支持同一集群服務(wù)器并行執(zhí)行, 集群之間串行發(fā)布的特性

SSH信任

生產(chǎn)服務(wù)器與部署服務(wù)器之間通過ssh-key建立信任

配置方法請參考 秘鑰配置 章節(jié)

安裝

準備工作

Go

推薦Go1.10以上版本, 用來編譯源代碼

Git

請保持部署Syncd服務(wù)器的git版本為最新(>=2.20)

Nginx

Web服務(wù)依賴Nginx

MySQL

系統(tǒng)依賴Mysql存儲持久化數(shù)據(jù), 推薦版本 Mysql 5.7

Linux + Bash

系統(tǒng)會使用到 git, ssh, scp 等命令,所以目前只推薦在Linux上使用, 并且需要提前安裝或更新這些命令道最新版本

秘鑰配置

由于部署服務(wù)器(Syncd服務(wù)所在的服務(wù)器)與生產(chǎn)服務(wù)器(代碼部署目標機)之間通過ssh協(xié)議通信,所以需要將部署機的公鑰 (一般在這里: ~/.ssh/id_rsa.pub)加入到生產(chǎn)機的信任列表中(一般在這里 ~/.ssh/authorized_keys)

可使用 ssh-copy-id 命令添加,或手動拷貝. 拷貝后不要忘記進行測試連通性 ssh {生產(chǎn)機用戶名}@{生產(chǎn)機地址}

最后建議將以下配置加入到部署服務(wù)器ssh配置/etc/ssh/ssh_config中,關(guān)閉公鑰摘要的顯示提示,防止后臺腳本運行失敗

Host *
    StrictHostKeyChecking no

請注意: ssh目錄權(quán)限需按此設(shè)置,否則會出現(xiàn)無法免密登錄的情況

~/.ssh  0700
~/.ssh/authorized_keys 0600

安裝

二進制包安裝

二進制包下載地址:https://github.com/dreamans/syncd/releases

源碼編譯安裝

curl https://raw.githubusercontent.com/dreamans/syncd/master/install.sh |bash

當前路徑中若生成 syncd-deploy 或者 syncd-deploy-xxx 目錄則表明安裝成功

生成的 syncd-deploy 目錄可拷貝或移動到你想要的地方,但不要試圖將此目錄拷貝到其他服務(wù)器上運行,會造成不可預(yù)料的結(jié)果.

數(shù)據(jù)庫依賴

你需要將 github.com/dreamans/syncd/syncd.sql 數(shù)據(jù)表結(jié)構(gòu)和數(shù)據(jù)導入到MySQL數(shù)據(jù)庫中

修改配置文件

修改 syncd-deploy/etc/syncd.ini 中相關(guān)配置信息, 具體配置描述可參考注釋

啟動服務(wù)

cd syncd-deploy

?  syncd-deploy ./bin/syncd -c ./etc/syncd.ini
                                          __
   _____   __  __   ____     _____   ____/ /
  / ___/  / / / /  / __ \   / ___/  / __  /
 (__  )  / /_/ /  / / / /  / /__   / /_/ /
/____/   \__, /  /_/ /_/   \___/   \__,_/
        /____/

Service:              syncd
Version:              1.0.0
Config Loaded:        ./etc/syncd.ini
Log:                  stdout
Database:             127.0.0.1
Mail Enable:          0
HTTP Service:         :8868
Start Running...

添加Nginx配置

upstream syncdServer {
    server 127.0.0.1:8868 weight=1;
}
server {
    listen       80;
    server_name  deploy.syncd.cc; # 此處替換成你的真實域名
    access_log   logs/deploy.syncd.cc.log;

    location / {
        try_files $uri $uri/ /index.html;
        root /path/syncd-deploy/public; # 此處/path請?zhí)鎿Q成真實路徑
        index index.html index.htm;
    }

    location ^~ /api/ {
        proxy_pass          http://syncdServer;
        proxy_set_header    X-Forwarded-Host $host:$server_port;
        proxy_set_header    X-Real-IP     $remote_addr;
        proxy_set_header    Origin        $host:$server_port;
        proxy_set_header    Referer       $host:$server_port;
    }
}

重啟nginx服務(wù)

修改hosts

若域名未解析,可修改hosts進行臨時解析

sudo vim /etc/hosts

127.0.0.1  deploy.syncd.cc;

安裝完成

打開瀏覽器,訪問 http://deploy.syncd.cc

初始賬號:

用戶名: syncd 郵箱: syncd@syncd.cc 密碼: syncd.cc !!!登錄后請盡快修改密碼

使用

系統(tǒng)使用流程圖 Syncd開源自動化部署工具有什么用 使用截圖

Syncd開源自動化部署工具有什么用 

關(guān)于“Syncd開源自動化部署工具有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI