mirror of
https://github.com/Azure/k8s-deploy.git
synced 2026-06-26 14:49:26 +08:00
Blue/Green Refactor (#229)
* fresh new branch * Added coverage to gitignore Signed-off-by: Jaiveer Katariya <jaiveerkatariya@Jaiveers-MBP.lan> * reverted package-lock.json Signed-off-by: Jaiveer Katariya <jaiveerkatariya@Jaiveers-MBP.lan> Co-authored-by: Jaiveer Katariya <jaiveerkatariya@Jaiveers-MBP.lan>
This commit is contained in:
+17
-16
@@ -2,9 +2,13 @@ import * as core from '@actions/core'
|
||||
import * as canaryDeploymentHelper from '../strategyHelpers/canary/canaryHelper'
|
||||
import * as SMICanaryDeploymentHelper from '../strategyHelpers/canary/smiCanaryHelper'
|
||||
import {Kubectl} from '../types/kubectl'
|
||||
import {rejectBlueGreenService} from '../strategyHelpers/blueGreen/serviceBlueGreenHelper'
|
||||
import {rejectBlueGreenIngress} from '../strategyHelpers/blueGreen/ingressBlueGreenHelper'
|
||||
import {rejectBlueGreenSMI} from '../strategyHelpers/blueGreen/smiBlueGreenHelper'
|
||||
import {BlueGreenManifests} from '../types/blueGreenTypes'
|
||||
import {
|
||||
rejectBlueGreenIngress,
|
||||
rejectBlueGreenService,
|
||||
rejectBlueGreenSMI
|
||||
} from '../strategyHelpers/blueGreen/reject'
|
||||
import {getManifestObjects} from '../strategyHelpers/blueGreen/blueGreenHelper'
|
||||
import {DeploymentStrategy} from '../types/deploymentStrategy'
|
||||
import {
|
||||
parseTrafficSplitMethod,
|
||||
@@ -15,15 +19,14 @@ import {parseRouteStrategy, RouteStrategy} from '../types/routeStrategy'
|
||||
export async function reject(
|
||||
kubectl: Kubectl,
|
||||
manifests: string[],
|
||||
deploymentStrategy: DeploymentStrategy,
|
||||
annotations: {[key: string]: string} = {}
|
||||
deploymentStrategy: DeploymentStrategy
|
||||
) {
|
||||
switch (deploymentStrategy) {
|
||||
case DeploymentStrategy.CANARY:
|
||||
await rejectCanary(kubectl, manifests)
|
||||
break
|
||||
case DeploymentStrategy.BLUE_GREEN:
|
||||
await rejectBlueGreen(kubectl, manifests, annotations)
|
||||
await rejectBlueGreen(kubectl, manifests)
|
||||
break
|
||||
default:
|
||||
throw 'Invalid delete deployment strategy'
|
||||
@@ -55,22 +58,20 @@ async function rejectCanary(kubectl: Kubectl, manifests: string[]) {
|
||||
core.endGroup()
|
||||
}
|
||||
|
||||
async function rejectBlueGreen(
|
||||
kubectl: Kubectl,
|
||||
manifests: string[],
|
||||
annotations: {[key: string]: string} = {}
|
||||
) {
|
||||
core.startGroup('Rejecting deployment with blue green strategy')
|
||||
|
||||
async function rejectBlueGreen(kubectl: Kubectl, manifests: string[]) {
|
||||
const routeStrategy = parseRouteStrategy(
|
||||
core.getInput('route-method', {required: true})
|
||||
)
|
||||
core.startGroup('Rejecting deployment with blue green strategy')
|
||||
core.info(`using routeMethod ${routeStrategy}`)
|
||||
const manifestObjects: BlueGreenManifests = getManifestObjects(manifests)
|
||||
|
||||
if (routeStrategy == RouteStrategy.INGRESS) {
|
||||
await rejectBlueGreenIngress(kubectl, manifests)
|
||||
await rejectBlueGreenIngress(kubectl, manifestObjects)
|
||||
} else if (routeStrategy == RouteStrategy.SMI) {
|
||||
await rejectBlueGreenSMI(kubectl, manifests, annotations)
|
||||
await rejectBlueGreenSMI(kubectl, manifestObjects)
|
||||
} else {
|
||||
await rejectBlueGreenService(kubectl, manifests)
|
||||
await rejectBlueGreenService(kubectl, manifestObjects)
|
||||
}
|
||||
core.endGroup()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user