1 背景
小型企業一般是指研發人數少于30人的企業,這些企業有的處于生存期,有的處于發展期,要求產品迭代速度要趕上市場更新速度。對于研發流程,一般沒有專職的管理人員,希望引進成熟的方案把游擊隊改造成正規軍,用小而精的技術團隊驅動大業務、大市場,進而實現企業和團隊的大發展。
你有問題,我有方案。云效助力中小企業發展,適合你的解決方案才是最好的方案。任何軟件研發過程都必須解決兩個問題:代碼怎么管、產品怎么發?不希望引入復雜的流程、不希望增加額外的人員消耗,又可以解決實際問題并獲得效能提升。借助云效,只需要“十分鐘,兩步走”您就可以擁有成熟的持續交付能力:
第一步,用代碼平臺進行代碼托管和評審。
第二步,用流水線進行持續集成和交付。
2 當前小型企業持續交付中遇到的挑戰
如果沒有引入成熟的工具和方法,研發過程一般面臨這些挑戰:
團隊沒有統一的研發管理流程,工具無約束,遵守流程規范基本靠自覺。
日常發布流程中人工干預過多,缺乏自動化部署能力。
滿足團隊日常開發的需求,能夠順暢地布置到生產環境,需要:
統一的代碼托管和評審。
一致的構建和運行環境。
規范的自動化發布流程。
3 基于云效解決方案
3.1 云效持續交付能力
云效,企業級一站式DevOps解決方案,源于阿里巴巴先進的管理理念和工程實踐,致力于成為數字企業的研發效能引擎!云效提供從“需求->開發->測試->發布->運維->運營”端到端的協同服務和研發工具,支持公共云、專有云和混合云多種部署形態,通過人工智能、自動化技術的應用助力開發者提升研發效能,持續快速交付有效值。
3.2 我們的優勢
3.2.1 代碼管理
?自動化代碼檢測,提供安全掃描快速暴露代碼安全問題,同時提供代碼規約檢查保障代碼質量。
?阿里巴巴自研,適合企業級代碼庫,提供企業間數據隔離及企業-代碼庫-成員三級權限管控能力。
?安全穩定的代碼庫,完善的日志審計、IP白名單等實現訪問控制,讓你的代碼安全無憂。
?多樣化代碼評審,完善的配置能力支持豐富的代碼評審場景,自動化代碼掃描提高評審效率。
立即體驗:云效代碼管理。
3.2.2 流水線
?釘釘消息通知,流水線運行結果,即時準確地反饋到釘釘群。降低溝通成本,提升團隊工程協同。
?快速生成流水線,適用多種場景,通過模板來快速創建流水線,提供可視化編排和結果展現,所見即所得。
?自動化質量保障手段,支持代碼掃描、安全掃描,人工測試卡點等多種質量紅線,確保業務交付質量。
?支持多語言,Java、Node.js、Python、PHP、Golang等語言腳手架生成代碼框架,可以對接主流代碼倉庫。
?軟件發布支持,保障業務穩定交付,通過灰度發布、分批發布的策略,保障業務交付的穩定。
立即體驗:云效流水線Flow。
3.3 解決方案架構圖
結合代碼管理平臺和持續交付流水線,為小微企業實現隨時集成,每日交付提供了很好的基礎保障,真正實現持續快速交付有效價值。
?過程中任何問題通過釘釘,自動化地及時反饋到指定負責人,做到準確反饋、即時響應,快速恢復。
?開發者根據任務安排,創建特性分支,通過線下編譯和自測通過提交代碼。
?代碼提交自動觸發代碼掃描,通過后發起合并請求,根據代碼庫設置發送給指定的代碼評審員進行評審。
?完成代碼評審后合并集成分支,自動觸發集成分支流水線,完成構建、部署和測試環境驗證工作,驗證通過合并到發布分支。
?根據發布時間人工觸發發布分支流水線,完成構建、預發部署驗證、發布審核等流程,審批通過部署生產環境。
3.4 兩步開啟持續交付
第一步,先把代碼托管起來
1. 快速創建代碼倉庫
通過代碼庫右上角,點擊選擇新建代碼庫或導入代碼庫,代碼庫克隆支持HTTPS和SSH兩種協議。
2. 開啟代碼檢測
在提交和合并請求中,可以自動觸發代碼檢測任務。管理員可以在代碼檢測中配置檢測方案與構建檢測任務,設置代碼檢測的時機,或者開啟和關閉檢測。了解更多。
3. 引入代碼評審
通過【分支設置】完成代碼評審場景定制,例如設置集成分支為保護分支。了解更多。
第二步,用流水線實現自動交付
1. 一鍵創建流水線
點擊流水線列表右上角的【新建流水線】按鈕,開始創建流水線,選擇研發語言和流水線模板。
2. 編輯流水線場景
通過流水線編輯功能,結合企業場景快速配置以下2條流水線:
?集成環境流水線
【步驟說明】
*觸發方式選擇:代碼提交觸發;
*集成分支開始構建編譯;
*編譯通過部署測試環境;
*測試同學測試驗證:新建任務中選用人工卡點并配置驗證人員為測試同學;
*驗證通過代碼合并發布分支;
?發布環境流水線
【步驟說明】
*發布分支開始構建編譯;
*編譯通過部署預發環境;
*預發環境驗收測試;
*驗證通過開始發布審核;
*審核通過部署生產環境;
3.5 用戶旅程
通過以下內容詳細介紹如何快速實現從代碼提交到交付的過程。【場景為:Java單應用主機部署】
新建特性分支,開始編碼。
開發人員可以通過代碼平臺在線方式或者本地新建分支開始編碼,代碼完成后提交遠端分支;若配置了相應的檢測任務,工具開始自動執行檢測任務,可以直觀看到檢查結果,便于進一步改進。
新建合并請求發起代碼評審
新建合并請求發起代碼評審,強制代碼評審有利于提高代碼質量,幫助開發人員盡早發現問題,提高問題修復的效率。
分支通過代碼評審后,點擊“合并”按鈕,代碼自動合并到集成分支,隨即觸發集成分支流水線,開始構建和測試環境部署。
啟動集成測試和驗證
集成分支構建部署到測試環境后,測試同學開始進行測試驗證,根據測試結果選擇“驗證通過”或者“驗證不通過”,測試通過后代碼合入發布分支。
啟動生產環境發布和審核
發布分支構建部署預發環境并且測試驗證通過后,提交生產環境發布單審批,指定的同學“通過”后開始生產環境部署。
查看流水線運行結果
所見即所得,流水線運行過程直觀展示,企業可完整看到當前流水線運行所處階段和場景。
獲得反饋信息
流水線中配置消息通知,可以將流水線運行過程中的信息反饋給相應同學,便于快速定位和排查問題。
4 更多場景
隨著研發團隊規模不斷壯大,產品線逐漸豐富,加強測試和質量保障是繞不開的步驟,基于流水線自動化測試和紅線卡點可以有效保障產品交付質量,根據需求選擇合適的流水線任務加入到現有流程中,企業可以靈活定義適合自身場景的玩法。
總結
本文通過“兩步走”介紹了如何在10分鐘內建立企業專屬的流水線場景,快速規范代碼托管和應用發布,使得研發效能成倍提升。