mirror of
https://github.com/Azure/k8s-deploy.git
synced 2026-06-25 22:29:26 +08:00
force flag added
This commit is contained in:
@@ -11,6 +11,7 @@ export const deploymentStrategy: string = core.getInput('strategy');
|
||||
export const trafficSplitMethod: string = core.getInput('traffic-split-method');
|
||||
export const baselineAndCanaryReplicas: string = core.getInput('baseline-and-canary-replicas');
|
||||
export const args: string = core.getInput('arguments');
|
||||
export const forceDeployment: boolean = core.getInput('force').toLowerCase() == 'true';
|
||||
|
||||
if (!namespace) {
|
||||
core.debug('Namespace was not supplied; using "default" namespace instead.');
|
||||
|
||||
@@ -20,8 +20,15 @@ export class Kubectl {
|
||||
}
|
||||
}
|
||||
|
||||
public apply(configurationPaths: string | string[]) {
|
||||
return this.execute(['apply', '-f', this.createInlineArray(configurationPaths)]);
|
||||
public apply(configurationPaths: string | string[], force?: boolean) {
|
||||
let applyArgs: string[] = ['apply', '-f', this.createInlineArray(configurationPaths)];
|
||||
|
||||
if (!!force) {
|
||||
console.log("force flag is on, deployment will continue even if previous deployment already exists");
|
||||
applyArgs.push('--force');
|
||||
}
|
||||
|
||||
return this.execute(applyArgs);
|
||||
}
|
||||
|
||||
public describe(resourceType: string, resourceName: string, silent?: boolean) {
|
||||
|
||||
@@ -68,10 +68,10 @@ function deployManifests(files: string[], kubectl: Kubectl, isCanaryDeploymentSt
|
||||
} else {
|
||||
if (canaryDeploymentHelper.isSMICanaryStrategy()) {
|
||||
const updatedManifests = appendStableVersionLabelToResource(files, kubectl);
|
||||
result = kubectl.apply(updatedManifests);
|
||||
result = kubectl.apply(updatedManifests, TaskInputParameters.forceDeployment);
|
||||
}
|
||||
else {
|
||||
result = kubectl.apply(files);
|
||||
result = kubectl.apply(files, TaskInputParameters.forceDeployment);
|
||||
}
|
||||
}
|
||||
checkForErrors([result]);
|
||||
|
||||
@@ -52,7 +52,7 @@ export function deployPodCanary(kubectl: Kubectl, filePaths: string[]) {
|
||||
});
|
||||
|
||||
const manifestFiles = fileHelper.writeObjectsToFile(newObjectsList);
|
||||
const result = kubectl.apply(manifestFiles);
|
||||
const result = kubectl.apply(manifestFiles, TaskInputParameters.forceDeployment);
|
||||
return { 'result': result, 'newFilePaths': manifestFiles };
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ export function deploySMICanary(kubectl: Kubectl, filePaths: string[]) {
|
||||
});
|
||||
|
||||
const manifestFiles = fileHelper.writeObjectsToFile(newObjectsList);
|
||||
const result = kubectl.apply(manifestFiles);
|
||||
const result = kubectl.apply(manifestFiles, TaskInputParameters.forceDeployment);
|
||||
createCanaryService(kubectl, filePaths);
|
||||
return { 'result': result, 'newFilePaths': manifestFiles };
|
||||
}
|
||||
@@ -121,7 +121,7 @@ function createCanaryService(kubectl: Kubectl, filePaths: string[]) {
|
||||
|
||||
const manifestFiles = fileHelper.writeObjectsToFile(newObjectsList);
|
||||
manifestFiles.push(...trafficObjectsList);
|
||||
const result = kubectl.apply(manifestFiles);
|
||||
const result = kubectl.apply(manifestFiles, TaskInputParameters.forceDeployment);
|
||||
checkForErrors([result]);
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ function adjustTraffic(kubectl: Kubectl, manifestFilePaths: string[], stableWeig
|
||||
return;
|
||||
}
|
||||
|
||||
const result = kubectl.apply(trafficSplitManifests);
|
||||
const result = kubectl.apply(trafficSplitManifests, TaskInputParameters.forceDeployment);
|
||||
core.debug('serviceObjects:' + serviceObjects.join(',') + ' result:' + result);
|
||||
checkForErrors([result]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user