Skip to content

Meta

Feature ID WBXPLTFM-185917
Feature Name [MCT] Plugin Gray Release Jenkins Pipeline Enhancement
Dev Team MCT
Developers Carl Zhao
Delivery Manager Calvin Yan
Scrum Master Selly Huang

Plugin Gray Release Jenkins Pipeline Design

Background

Currently, we have to go through lots of steps from coding to release when developing plugins.This situation needs to be enhancement.

This design integrates plugin release, installation, and testing to improve development and testing efficiency.

WorkFlow

Here is pipeline workflow in Success case.

success

In this workflow, flow Plugin Install and Plugin Test are Paralleled Tasks.

Failure of either workflow will cause subsequent steps to be skipped and lead directly to end.

fail

Plugin Promote

This step will call build Job MCT_Plugin_Gray_Release_QA/BTS/PROD depends on which environment is set and then promote plugin to MCT DB.

Get station list

In this step, we need to call MPI to get station list(mulsvr / winmwt) which need to trigger plugin installation immediately.

Related MPI - Get station list - https://{mpi}/mpi/plugin/release/gray/linux-station - https://{mpi}/mpi/plugin/release/gray/windows-station

Plugin Install

Trigger plugin installation based on station list from previous Step.

After getting station list, PluginAutoManager of each station is triggered and starts installation in parallel.

plugin install

Plugin Test

In this step, we need to call MPI to get all test zones related to plugin which needed to be released under specific cluster (Plugin-Linux / Plugin-Windows) in parallel.

Related MPI - Get zone list according to full package name. - Test zone - https://{mpi}/mpi/test/zone/${Zone_Name}?username=mctpostverify - https://{mpi}/mpi/test/query/{session_id}?/detail=true

plugin test

Reserve Post Script

This step is used to do post work after test (optional)

Promote Plugin to GA

If all steps above pass, call build Job MCT_Plugin_Gray_Release_QA/BTS/PROD to promote plugin to GA status.