本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
云效流水線(Flow)支持將制品部署到阿里云ECS服務器、公網主機、免費體驗主機中,本文將介紹如何接入主機并創建和配置部署任務。
方案概覽
接入新主機
接入到阿里云ECS服務器
在流水線 Flow控制臺頁面,選擇導航菜單全局設置,進入設置頁面,單擊左側導航菜單主機組管理。
在主機組管理頁面,根據需求新建主機組選擇目標主機組,單擊添加新主機,在彈出的對話框中,選擇添加方式為阿里云ECS。如何創建主機組,請參見主機組管理。
選擇服務連接和地域,在可添加的主機列表里選擇需要添加的主機實例,可自行添加服務連接,點擊保存即可完成主機組與阿里云ECS服務器的綁定。
對部署權限的相關說明,請參見主機組成員權限。
接入到公網主機
云效流水線 Flow支持在對應主機中安裝 Runner 的方式,部署到非阿里云的公網主機(包括其他公有云主機或者可以連通公網的自有主機)。
您可以按照以下方式,將您的公網主機加入主機組,從而讓 Flow 能對其進行部署。
添加新主機,選擇 添加方式為手動安裝Runner。
復制接入主機下所展示的命令行到需要添加的主機上執行,控制臺出現“service started”和“service status running ”提示字樣,即表示接入成功。
重要主機需要能訪問公網。
Runner 安裝成功后,新機器就會自動添加至當前集群,請刷新主機列表后查看。
對部署權限的說明,請參見流水線成員權限。
接入到免費體驗主機
添加新主機,添加方式選擇免費體驗主機。
點擊阿里云體驗實驗室,前往申請免費體驗資源。
點擊立即開始,進入資源申請頁面。
Flow有實驗資源體驗(5小時)、領取免費試用額度、個人賬號資源三種實驗資源可供選擇。詳情請參見界面所展示的實驗資源說明,以實驗資源體驗(5小時)為例。
完成實驗資源的創建后,您可以在云產品資源列表查看已創建的資源信息,其中 AK ID、AK Secret、ECS 實例 ID、地域為主機導入的關鍵信息。
返回 Flow,將體驗資源的 AK ID、AK Secret、ECS 實例 ID、地域分別填寫至對應位置,保存完成主機組添加。
點擊保存,Flow 會在體驗主機上執行安裝 agent,預計會等待 15s 左右時間,請耐心等待,在主機組界面刷新便可看到當前綁定主機信息。
使用以上部署方式完成主機部署后,您可以在流水線的部署任務中選擇該主機組。
添加主機部署任務
可以通過兩種形式添加部署任務:
創建流水線的時候,選擇包含部署任務的模板。
在已有流水線中添加新任務,并選擇部署任務。
流水線模板創建
新建流水線時,選擇對應的開發語言,可以查看當前語言下的默認流水線模板,選擇帶有主機部署節點的流水線模板,即可快速使用構建能力 。
編排流水線,添加部署任務
在已有的流水線中,選擇
,選擇所需要的部署方式。配置主機部署任務
進入部署任務,進行如下配置:
選擇制品,制品來源于上游的構建任務。關于如何得到構建制品,請參見測試構建。
創建或者選擇主機組,部署組用于管理部署的資源和配置。關于如何創建部署組,請參見主機組管理。
通過部署配置,配置制品的下載路徑,執行用戶和具體的部署執行命令。
從示例代碼源選擇一個SpringBoot代碼倉庫,其中包含啟動腳本deploy.sh。
在部署機安裝Java運行環境。
在流水線構建出制品。為了進行部署,首先需要構建出制品。本示例中的制品是一個 tgz 壓縮包,在構建任務中可以指定一個或者多個文件(文件夾),Flow 的制品中就會包含這些文件(文件夾)。詳情請參見歸檔至云效公共存儲空間。
在本例中,需要將target/application.jar和deploy.sh兩個文件打包到制品中。因此需要在構建任務中按下面的方式進行配置:
在主機部署任務中,可以進行部署相關的配置,用于將構建產物在部署機上進行安裝。
相關配置
說明
下載路徑
部署配置中的下載路徑就是構建物上傳步驟所產生壓縮包所處的路徑。
執行用戶
填寫執行部署腳本的用戶,如 admin 等。
部署腳本
因為實際的部署腳本已經打包到了構建產出的壓縮包中,因此部署腳本只需簡單地進行解壓和執行即可。
mkdir -p /home/admin/application tar zxvf /home/admin/app/package.tgz -C /home/admin/application/ sh /home/admin/application/deploy.sh restart
重要Flow 在部署過程中,會下發部分以
rdc_deploy_command_
開頭的部署進程,請勿在部署腳本中對此類部署進程進行操作,否則可能會導致部署失敗。
配置部署策略,避免不穩定發布對用戶的影響, 保障業務交付的穩定。
如果您需要一次發布多臺主機,Flow 支持分批發布,您可在主機部署任務中指定對應的部署策略。假如您有 4 臺主機,選擇分 2 批發布,則每一批自動發布 2 臺主機。
暫停方式
說明
第一批暫停
第一批發布完成后,您可先進行驗證,點擊繼續后可執行后續發布。
不暫停
每一批發布完成后,自動執行后續批次的發布。
每批暫停
每一批發布完后,都需要手動確認是否繼續發布。
分批數量:指定主機分批的數量,指定分批發布的數量,會按照相應的數量進行分批部署。
部署時如何使用環境變量,請參見環境變量部署使用環境變量部分。
管理主機部署任務
查看部署詳情
配置完部署任務后,運行流水線執行部署任務,即會將對應的制品部署到指定的部署組。在部署過程中,可以點擊部署任務,獲取最新的部署詳情,確保部署的正確性。
流水線配置完成,在流水線運行頁面,在主機部署任務中,可以點擊部署詳情查看部署過程。
部署詳情會顯示當前部署的整體狀態和情況。
部署狀態
說明
部署中
可以執行終止操作,并查看日志。
待部署
當前無操作。
已成功
成功可以查看部署日志。
已失敗
失敗可以查看部署日志,并在卡片視圖上進行重試發起部署。
已跳過
跳過當前部署任務。
常見部署問題,請參見部署常見問題。
部署歷史回滾
您可在具體流水線執行記錄中部署歷史中,查看到該流水線所有執行的部署歷史記錄,并可選擇其中任意一條歷史記錄進行回滾操作。Flow 會根據當時運行的部署腳本和構建制品重新執行部署任務,以實現回滾的效果。
流水線部署包僅保留30天,記錄已超過30天無法回滾。