如何通過雲效Flow完成自動化部署—主機部署
阿新 • • 發佈:2021-10-20
如何通過雲效Flow完成自動化部署—主機部署,雲效流水線Flow是持續交付的載體,通過構建自動化、整合自動化、驗證自動化、部署自動化,完成從開發到上線過程的持續交付。通過持續向團隊提供及時反饋,讓交付過程高效順暢,Flow 提供了通用的部署能力該篇內容注意講解如何通過雲效Flow完成自動化部署—主機部署
編排流水線,新增部署任務
方法二:先在流水線中新增「主機部署」任務。使用者可以通過以下方式新增部署任務。
建立阿里雲 ECS 型別主機組
新增方式——直接新增
1)新建主機組,選擇 【主機型別】為 "阿里雲ECS" 。
2)選擇【服務授權】和【地區】,展示【可新增的主機列表】,可【新建服務授權】。
3) 選擇你想要新增至主機組的ECS主機。
4) 編輯主機資訊,包括主機組名稱、環境、標籤;主機組成員許可權的配置,建立人預設為企業擁有者;點選儲存,即可完成主機組的建立。
5)至此,你可在流水線中選擇使用該主機組了。
對部署許可權的說明,可檢視“主機組成員許可權”一節
新增方式——通過 ECS 標籤新增
同時,主機組支援通過ECS標籤新增,如果您使用 ECS 標籤對 ECS 資源進行分類管理,可以直接在 Flow 中建立主機組和 ECS 標籤的關聯。
StarAgent
為保證部署通道可用性,提高部署成功率,飛流採用了雲助手(https://help.aliyun.com/document_detail/64601.html)和Staragent雙通道方案,雲助手在阿里雲ECS會預設安裝,在新增和修改部署組的時候,飛流會通過雲助手自動安裝StarAgent。
StarAgent介紹
StarAgent是阿里巴巴集團伺服器運維基礎設施,承載了全集團的伺服器互動任務。StarAgent是打造全網通,7*24不間斷提供服務,安全可靠,日均億級呼叫量,99.995%的系統成功率的命令通道。通過阿里巴巴集團安全團隊對StarAgent進行了安全加固。重置帳號金鑰,客戶端服務端使用不同的加密方式,在伺服器上執行的命令進行全量審計等安全策略為命令通道保駕護航。
StarAgent基礎操作
新建部署任務
為了建立部署組,需要先在流水線中新增「主機部署」任務。使用者可以通過以下方式新增部署任務。- 使用模板新建流水線,選擇包含 “部署” 任務的模板
- 在已有的流水線中,新增新的階段,並選擇「部署」任務
一、主機部署
雲效Flow 提供了通用的部署能力,支援業務被部署到不同國家,不同雲廠商環境還有你的私有環境的主機中。 雲效Flow 目前支援部署以下的主機型別:- 阿里雲ECS
二、主機組
主機組是什麼?每個 Web 應用,在整合測試的環境(通常稱作日常環境)、預發的環境(稱作預發環境)、對外提供服務的環境(稱作正式環境)等不同的環境裡執行。 對應在 Flow 中,我們把這些環境稱之為「主機組」,也就是該應用執行在若干臺機器(虛擬機器/容器)。 前置任務 可以通過兩種方式建立主機組: 方法一:通過「主機組管理」新增主機組- 使用模板新建流水線,選擇包含 “部署” 任務的模板
- 在已有的流水線中,新增新的階段,並選擇「主機部署」任務
- 阿里雲ECS部署到阿里雲 ECS
- 可以出公網的非阿里雲主機部署到公網主機
- 不可訪問公網的非阿里雲主機(即將上線)
1 2 3 4 5 6 7 |
檢視狀態:/home/staragent/bin/staragentctl status;
啟動:/home/staragent/bin/staragentctl restart;
重啟:/home/staragent/bin/staragentctl restart;
解除安裝:
1. /home/staragent/bin/staragentctl stop;
2. rm -rf /home/staragent;
3. rm /usr/sbin/staragent_sn
|
3、部署到公網主機
通過在對應主機中添安裝 Agent 的方式,雲效流水線 Flow支援部署到非阿里雲的公網主機(包括其他公有云主機或者可以聯通公網的自有主機)。 你可以按照以下方式,將你的公網主機加入主機組,從而讓 Flow 能對其進行部署。 建立自由主機型別主機組 1)新建主機組,選擇 【主機型別】為 “自有主機”。 2) 展示【可新增的主機列表】,如果想要新增新的自有主機至【可新增的主機列表】,請複製主機新增指令。 3) 請開啟你需要新增進主機組部署的主機的命令列, 並將前序操作中複製的命令,在你的自有主機上執行(請注意,主機需要能訪問公網)。 4) 主機新增指令執行後,等待1-2分鐘後,自有主機會匯入【可新增的主機列表】,選擇你想要新增至主機組的自有主機。 5) 編輯主機資訊,包括主機組名稱、環境、標籤;主機組成員許可權的配置,建立人預設為企業擁有者;點選儲存,即可完成主機組的建立。 6)至此,你可在流水線中選擇使用該主機組了。 圖6. 使用主機組 對部署許可權的說明,可檢視“流水線成員許可權”一節三、部署配置
在流水線的部署元件中,需要進行部署配置。本篇文件會給出一個示例,供你參考,如何配置。 提前準備- 從示例程式碼庫新建一個SpringBoot程式碼庫:https://code.aliyun.com/code-template/spring-boot。其中包含啟動指令碼deploy.sh:https://code.aliyun.com/code-template/spring-boot/blob/master/deploy.sh。
- 在部署機安裝Java執行環境
- 在流水線構建出製品
1 2 3 |
mkdir -p /home/admin/application
tar zxvf /home/admin/app/package.tgz -C /home/admin/application/
sh /home/admin/application/deploy.sh restart
|
四、部署策略
真實的上線過程,如果採用全量釋出,會給開發運維團隊帶來未知的風險,為了減少釋出對線上業務的影響, Flow 提供了灰度釋出,分批發布能力,最大限度的避免了不穩定釋出對使用者的影響, 保障業務交付的穩定。 主機分批部署 如果你一次需要釋出多臺主機,Flow 支援分批發布,您可在主機部署任務中,可以指定對應的部署策略。假如你有 4 臺主機,選擇分 2 批發布,則每一批自動釋出 2 臺主機。- 暫停方式
- 分批數量