您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Syncd開源自動化部署工具有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
官網地址:https://gitee.com/dreamans/syncd/issues
syncd是一款開源的代碼部署工具,它具有簡單、高效、易用等特點,可以提高團隊的工作效率.視頻詳解
目前只支持類Linux系統.
特性
Go語言開發,編譯簡單、運行高效
Web界面訪問,交互友好
靈活的角色權限配置
支持Git倉庫
分支、tag上線
部署hook支持
完善的上線工作流
郵件通知機制
原理 Git Syncd服務通過git-ssh(或password)方式從倉庫中拉取指定tag(分支)代碼.
構建
運行配置好的構建腳本, 編譯成可上線的軟件包
在這一環節中,可運行單元測試 (例如 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) 等.
分發
通過 scp 命令分發軟件包到各機房生產服務器的臨時目錄, 遠程執行 pre-deploy 配置的命令, 執行完畢后解壓縮軟件包到目標目錄,然后執行 post-deploy 命令
分發上線過程是串行執行,并且任意步驟執行失敗整個上線單會終止上線并將狀態置為上線失敗,需要點擊 再次上線 重試.
將來會支持同一集群服務器并行執行, 集群之間串行發布的特性
SSH信任
生產服務器與部署服務器之間通過ssh-key建立信任
配置方法請參考 秘鑰配置 章節
安裝
準備工作
Go
推薦Go1.10以上版本, 用來編譯源代碼
Git
請保持部署Syncd服務器的git版本為最新(>=2.20)
Nginx
Web服務依賴Nginx
系統依賴Mysql存儲持久化數據, 推薦版本 Mysql 5.7
Linux + Bash
系統會使用到 git, ssh, scp 等命令,所以目前只推薦在Linux上使用, 并且需要提前安裝或更新這些命令道最新版本
秘鑰配置
由于部署服務器(Syncd服務所在的服務器)與生產服務器(代碼部署目標機)之間通過ssh協議通信,所以需要將部署機的公鑰 (一般在這里: ~/.ssh/id_rsa.pub)加入到生產機的信任列表中(一般在這里 ~/.ssh/authorized_keys)
可使用 ssh-copy-id 命令添加,或手動拷貝. 拷貝后不要忘記進行測試連通性 ssh {生產機用戶名}@{生產機地址}
最后建議將以下配置加入到部署服務器ssh配置/etc/ssh/ssh_config中,關閉公鑰摘要的顯示提示,防止后臺腳本運行失敗
Host * StrictHostKeyChecking no
請注意: ssh目錄權限需按此設置,否則會出現無法免密登錄的情況
~/.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 目錄可拷貝或移動到你想要的地方,但不要試圖將此目錄拷貝到其他服務器上運行,會造成不可預料的結果.
數據庫依賴
你需要將 github.com/dreamans/syncd/syncd.sql 數據表結構和數據導入到MySQL數據庫中
修改配置文件
修改 syncd-deploy/etc/syncd.ini 中相關配置信息, 具體配置描述可參考注釋
啟動服務
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請替換成真實路徑 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服務
修改hosts
若域名未解析,可修改hosts進行臨時解析
sudo vim /etc/hosts 127.0.0.1 deploy.syncd.cc;
安裝完成
打開瀏覽器,訪問 http://deploy.syncd.cc
初始賬號:
用戶名: syncd 郵箱: syncd@syncd.cc 密碼: syncd.cc !!!登錄后請盡快修改密碼
使用
系統使用流程圖 使用截圖
關于“Syncd開源自動化部署工具有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。