發(fā)布是將具備發(fā)布條件的程序發(fā)布到線上系統(tǒng),并以生產(chǎn)標準進行數(shù)據(jù)產(chǎn)出的過程。

發(fā)布分為正常發(fā)布和緊急發(fā)布:
  • 正常發(fā)布:發(fā)布節(jié)奏在原則上是可預(yù)見性、周期性的,發(fā)布計劃可提前制定和公布。正常列入排期計劃的需求,都必須按照正常的節(jié)奏安排發(fā)布計劃。
  • 緊急發(fā)布:緊急發(fā)布是為應(yīng)對突發(fā)性、緊急性狀況而額外開啟的可選發(fā)布,如線上BUG緊急修復(fù)、突發(fā)性需求等。

    在接到緊急發(fā)布需求后,第一時間應(yīng)評估是否可以隨最近一次正常發(fā)布窗口期發(fā)布。如果不可以,則根據(jù)企業(yè)實際情況發(fā)起緊急發(fā)布申請。

發(fā)布階段的流程主要包括發(fā)布申請、發(fā)布審批和發(fā)布執(zhí)行。
  1. 發(fā)布申請:發(fā)布申請是發(fā)布工作的進入環(huán)節(jié),該環(huán)節(jié)主要包括程序源代碼、質(zhì)量評估報告、UAT驗收報告和發(fā)布版本。
  2. 發(fā)布審批:審批環(huán)節(jié)是對發(fā)布申請合法性的賦權(quán)和放行環(huán)節(jié)。在該環(huán)節(jié),需要對發(fā)布申請的合規(guī)性、規(guī)范性和合理性進行審核,具體審批目的包括但不限于以下幾點:
    • 發(fā)布內(nèi)容是否與原始需求一致。
    • 發(fā)布內(nèi)容是否與數(shù)據(jù)安全、合規(guī)要求有沖突。
    • 發(fā)布內(nèi)容是否會造成任務(wù)報錯、臟數(shù)據(jù)寫入等情況。
    • 發(fā)布內(nèi)容的發(fā)布時間段是否合理或需要調(diào)整。
    • 緊急發(fā)布的必要性。

    建議安排對業(yè)務(wù)邏輯、代碼較為熟悉的人員把控審批流程。審批通過后即進入發(fā)布執(zhí)行階段。如果不通過,則發(fā)布立即終止,或駁回申請進行調(diào)整后重新申請。

    審批環(huán)節(jié)是一個非常重要且不可或缺的環(huán)節(jié),它關(guān)系到數(shù)據(jù)生產(chǎn)環(huán)境的穩(wěn)定性和數(shù)據(jù)的可靠性、安全性。建議企業(yè)根據(jù)自身情況,安排經(jīng)驗豐富的相關(guān)人士來承擔(dān)此項工作。

  3. 發(fā)布執(zhí)行:審批通過后,由運維人員執(zhí)行發(fā)布。

    為保證將程序正確、完整地發(fā)布到線上,發(fā)布時應(yīng)嚴格按照開發(fā)人員的發(fā)布操作步驟執(zhí)行,且可以查詢操作日志記錄。

    發(fā)布完成后,發(fā)布人員需要啟動關(guān)聯(lián)通知工作。

  4. 關(guān)聯(lián)通知:發(fā)布人員需將發(fā)布變更信息及時通知包括但不限于以下關(guān)聯(lián)方:
    • 該代碼所在節(jié)點的一級子節(jié)點責(zé)任人。
    • 任務(wù)關(guān)聯(lián)產(chǎn)出基線責(zé)任人。
  5. 數(shù)據(jù)質(zhì)量監(jiān)控與冒煙測試:發(fā)布完成后,開發(fā)人員根據(jù)數(shù)據(jù)與業(yè)務(wù)特點配置數(shù)據(jù)質(zhì)量監(jiān)控規(guī)則,并進行冒煙測試。

    冒煙測試必須完成至少一個調(diào)度周期的運行,以驗證新發(fā)布或者變更的任務(wù)節(jié)點可行性。如果冒煙測試不通過,則發(fā)布執(zhí)行人員需根據(jù)情況,執(zhí)行代碼回滾或者通知開發(fā)人員進行緊急線上發(fā)布。