fixes
parent
675b40c1fb
commit
9a87a67415
|
|
@ -734,7 +734,8 @@ class AWSBuildRunner {
|
||||||
try {
|
try {
|
||||||
yield ECS.waitFor('tasksRunning', { tasks: [taskArn], cluster }).promise();
|
yield ECS.waitFor('tasksRunning', { tasks: [taskArn], cluster }).promise();
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (errorUntyped) {
|
||||||
|
const error = errorUntyped;
|
||||||
yield new Promise((resolve) => setTimeout(resolve, 3000));
|
yield new Promise((resolve) => setTimeout(resolve, 3000));
|
||||||
const describeTasks = yield ECS.describeTasks({
|
const describeTasks = yield ECS.describeTasks({
|
||||||
tasks: [taskArn],
|
tasks: [taskArn],
|
||||||
|
|
@ -1360,7 +1361,6 @@ const kubernetes_secret_1 = __importDefault(__webpack_require__(4682));
|
||||||
const kubernetes_utils_1 = __importDefault(__webpack_require__(35306));
|
const kubernetes_utils_1 = __importDefault(__webpack_require__(35306));
|
||||||
const async_wait_until_1 = __importDefault(__webpack_require__(41299));
|
const async_wait_until_1 = __importDefault(__webpack_require__(41299));
|
||||||
const kubernetes_job_spec_factory_1 = __importDefault(__webpack_require__(24418));
|
const kubernetes_job_spec_factory_1 = __importDefault(__webpack_require__(24418));
|
||||||
const kubernetes_cleanup_cronjob_1 = __importDefault(__webpack_require__(22157));
|
|
||||||
const kubernetes_service_account_1 = __importDefault(__webpack_require__(12871));
|
const kubernetes_service_account_1 = __importDefault(__webpack_require__(12871));
|
||||||
class Kubernetes {
|
class Kubernetes {
|
||||||
constructor(buildParameters) {
|
constructor(buildParameters) {
|
||||||
|
|
@ -1393,7 +1393,6 @@ class Kubernetes {
|
||||||
this.serviceAccountName = `service-account-${buildGuid}`;
|
this.serviceAccountName = `service-account-${buildGuid}`;
|
||||||
yield kubernetes_storage_1.default.createPersistentVolumeClaim(buildParameters, this.pvcName, this.kubeClient, this.namespace);
|
yield kubernetes_storage_1.default.createPersistentVolumeClaim(buildParameters, this.pvcName, this.kubeClient, this.namespace);
|
||||||
yield kubernetes_service_account_1.default.createServiceAccount(this.serviceAccountName, this.namespace, this.kubeClient);
|
yield kubernetes_service_account_1.default.createServiceAccount(this.serviceAccountName, this.namespace, this.kubeClient);
|
||||||
yield kubernetes_cleanup_cronjob_1.default.createCleanupCronJob(this.kubeClientBatchBeta, this.cleanupCronJobName, this.serviceAccountName, this.namespace);
|
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
throw error;
|
throw error;
|
||||||
|
|
@ -1468,109 +1467,12 @@ class Kubernetes {
|
||||||
defaultSecretsArray) {
|
defaultSecretsArray) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
yield this.kubeClient.deleteNamespacedPersistentVolumeClaim(this.pvcName, this.namespace);
|
yield this.kubeClient.deleteNamespacedPersistentVolumeClaim(this.pvcName, this.namespace);
|
||||||
yield kubernetes_cleanup_cronjob_1.default.cleanup(this.kubeClientBatchBeta, this.cleanupCronJobName, this.namespace);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.default = Kubernetes;
|
exports.default = Kubernetes;
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 22157:
|
|
||||||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
||||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
||||||
}) : function(o, v) {
|
|
||||||
o["default"] = v;
|
|
||||||
});
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
||||||
__setModuleDefault(result, mod);
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
||||||
const client_node_1 = __webpack_require__(89679);
|
|
||||||
const core = __importStar(__webpack_require__(42186));
|
|
||||||
class KubernetesCleanupCronJob {
|
|
||||||
static cleanup(api, name, namespace) {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
yield api.deleteNamespacedCronJob('name', namespace);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
static createCleanupCronJob(kubeClientBatch, name, serviceAccountName, namespace) {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
try {
|
|
||||||
const batchJob = new client_node_1.V1beta1CronJob();
|
|
||||||
batchJob.kind = 'CronJob';
|
|
||||||
batchJob.metadata = {
|
|
||||||
name,
|
|
||||||
labels: {
|
|
||||||
app: 'unity-builder',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
const spec = {
|
|
||||||
restartPolicy: 'Never',
|
|
||||||
serviceAccountName,
|
|
||||||
containers: [
|
|
||||||
{
|
|
||||||
name: 'main',
|
|
||||||
image: 'bitnami/kubectl',
|
|
||||||
imagePullPolicy: '',
|
|
||||||
command: ['/bin/sh'],
|
|
||||||
args: [
|
|
||||||
'-c',
|
|
||||||
`
|
|
||||||
echo "delete the kubernetes resources"
|
|
||||||
kubectl get pods
|
|
||||||
`,
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
const hours = new Date().getUTCHours() + 3;
|
|
||||||
batchJob.spec = {
|
|
||||||
schedule: `0 ${hours > 23 ? hours - 23 : hours} * * *`,
|
|
||||||
jobTemplate: {
|
|
||||||
spec: {
|
|
||||||
template: { spec },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
core.info('creating cron job');
|
|
||||||
yield kubeClientBatch.createNamespacedCronJob(namespace, batchJob);
|
|
||||||
core.info('created cron job');
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.default = KubernetesCleanupCronJob;
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 24418:
|
/***/ 24418:
|
||||||
|
|
@ -1694,14 +1596,20 @@ class KubernetesJobSpecFactory {
|
||||||
command: [
|
command: [
|
||||||
'bin/bash',
|
'bin/bash',
|
||||||
'-c',
|
'-c',
|
||||||
`cd /data/builder/action/steps;
|
`cd /data/builder/action/steps;
|
||||||
chmod +x /return_license.sh;
|
chmod +x /return_license.sh;
|
||||||
/return_license.sh;`,
|
/return_license.sh;`,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'controller-cleanup',
|
||||||
|
image: 'alpine',
|
||||||
|
command: ['/bin/sh'],
|
||||||
|
args: ['-c', 'echo "test"'],
|
||||||
|
}
|
||||||
],
|
],
|
||||||
restartPolicy: 'Never',
|
restartPolicy: 'Never',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue