@soft-artel/ci 1.3.15 → 1.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/k8s/App.d.ts +22 -0
  2. package/k8s/App.d.ts.map +1 -0
  3. package/k8s/App.js +150 -0
  4. package/k8s/App.js.map +1 -0
  5. package/k8s/DockerImage.d.ts +15 -0
  6. package/k8s/DockerImage.d.ts.map +1 -0
  7. package/k8s/DockerImage.js +112 -0
  8. package/k8s/DockerImage.js.map +1 -0
  9. package/k8s/Node.d.ts +17 -0
  10. package/k8s/Node.d.ts.map +1 -0
  11. package/k8s/Node.js +103 -0
  12. package/k8s/Node.js.map +1 -0
  13. package/k8s-build.d.ts +3 -0
  14. package/k8s-build.d.ts.map +1 -0
  15. package/k8s-build.js +125 -0
  16. package/k8s-build.js.map +1 -0
  17. package/k8s-deploy.d.ts +3 -0
  18. package/k8s-deploy.d.ts.map +1 -0
  19. package/k8s-deploy.js +124 -0
  20. package/k8s-deploy.js.map +1 -0
  21. package/libs/Exception.d.ts +5 -0
  22. package/libs/Exception.d.ts.map +1 -0
  23. package/libs/Exception.js +13 -0
  24. package/libs/Exception.js.map +1 -0
  25. package/libs/Git.d.ts +44 -0
  26. package/libs/Git.d.ts.map +1 -0
  27. package/libs/Git.js +160 -0
  28. package/libs/Git.js.map +1 -0
  29. package/libs/Gitlab.d.ts +12 -0
  30. package/libs/Gitlab.d.ts.map +1 -0
  31. package/libs/Gitlab.js +78 -0
  32. package/libs/Gitlab.js.map +1 -0
  33. package/libs/Jira.d.ts +31 -0
  34. package/libs/Jira.d.ts.map +1 -0
  35. package/libs/Jira.js +157 -0
  36. package/libs/Jira.js.map +1 -0
  37. package/libs/Project.d.ts +39 -0
  38. package/libs/Project.d.ts.map +1 -0
  39. package/libs/Project.js +177 -0
  40. package/libs/Project.js.map +1 -0
  41. package/libs/Reporter.d.ts +34 -0
  42. package/libs/Reporter.d.ts.map +1 -0
  43. package/libs/Reporter.js +131 -0
  44. package/libs/Reporter.js.map +1 -0
  45. package/libs/Shell.d.ts +39 -0
  46. package/libs/Shell.d.ts.map +1 -0
  47. package/libs/Shell.js +107 -0
  48. package/libs/Shell.js.map +1 -0
  49. package/libs/helpers.d.ts +29 -0
  50. package/libs/helpers.d.ts.map +1 -0
  51. package/libs/helpers.js +101 -0
  52. package/libs/helpers.js.map +1 -0
  53. package/libs/prototype.d.ts +9 -0
  54. package/libs/prototype.d.ts.map +1 -0
  55. package/libs/prototype.js +186 -0
  56. package/libs/prototype.js.map +1 -0
  57. package/package.json +1 -1
  58. package/upd_pkg.d.ts +3 -0
  59. package/upd_pkg.d.ts.map +1 -0
  60. package/upd_pkg.js +28 -0
  61. package/upd_pkg.js.map +1 -0
  62. package/xcode.d.ts +3 -0
  63. package/xcode.d.ts.map +1 -0
  64. package/xcode.js +163 -0
  65. package/xcode.js.map +1 -0
  66. package/.env +0 -21
  67. package/.eslintcache +0 -1
  68. package/.eslintignore +0 -4
  69. package/.eslintrc +0 -246
  70. package/.gitlab-ci.yml +0 -12
  71. package/_publish.sh +0 -24
  72. package/k8s/App.ts +0 -200
  73. package/k8s/DockerImage.ts +0 -147
  74. package/k8s/Node.ts +0 -119
  75. package/k8s-build.ts +0 -175
  76. package/k8s-deploy.ts +0 -174
  77. package/libs/Exception.ts +0 -19
  78. package/libs/Git.ts +0 -199
  79. package/libs/Gitlab.ts +0 -86
  80. package/libs/Jira.ts +0 -239
  81. package/libs/Project.ts +0 -215
  82. package/libs/Reporter.ts +0 -181
  83. package/libs/Shell.ts +0 -119
  84. package/libs/helpers.ts +0 -114
  85. package/libs/prototype.ts +0 -313
  86. package/tsconfig.json +0 -24
  87. package/upd_pkg.ts +0 -21
  88. package/xcode.ts +0 -226
package/k8s/App.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import '../libs/prototype';
2
+ import { Project } from '../libs/Project';
3
+ import { DockerImage } from './DockerImage';
4
+ export interface Config {
5
+ appFile: string;
6
+ sharedPaths?: string[];
7
+ ignorePaths?: string[];
8
+ }
9
+ export declare class App {
10
+ group: string;
11
+ app: string;
12
+ name: string;
13
+ path: string;
14
+ $pathComp: string[];
15
+ constructor(path?: string);
16
+ writeManifest(prj: Project, image: DockerImage): Promise<void>;
17
+ }
18
+ export declare function getApps(prj: Project, config: Config, updatedPaths: string[], maxdepth?: number, ignore?: string[]): Promise<{
19
+ apps: Record<string, App>;
20
+ updated: string[] | undefined;
21
+ }>;
22
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../k8s/App.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,WAAW,MAAM;IAEtB,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAEvB;AAID,qBAAa,GAAG;IAEf,KAAK,SAAM;IACX,GAAG,SAAM;IAET,IAAI,SAAM;IACV,IAAI,SAAM;IAEV,SAAS,EAAE,MAAM,EAAE,CAAY;gBAInB,IAAI,GAAE,MAAW;IAsBvB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW;CA6DpD;AAID,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,MAAU,EAAE,MAAM,GAAE,MAAM,EAAyC,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAAE,CAAC,CA2ExO"}
package/k8s/App.js ADDED
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.getApps = exports.App = void 0;
16
+ require("../libs/prototype");
17
+ const mustache_1 = __importDefault(require("mustache"));
18
+ const js_yaml_1 = __importDefault(require("js-yaml"));
19
+ const fs_1 = require("fs");
20
+ const Shell_1 = __importDefault(require("../libs/Shell"));
21
+ const helpers_1 = require("../libs/helpers");
22
+ const Exception_1 = require("../libs/Exception");
23
+ class App {
24
+ constructor(path = '') {
25
+ this.group = '';
26
+ this.app = '';
27
+ this.name = '';
28
+ this.path = '';
29
+ this.$pathComp = ['./'];
30
+ const pathComp = path.split('/');
31
+ if (pathComp.length > 1) {
32
+ this.group = pathComp[0];
33
+ this.app = pathComp[1];
34
+ this.name = `${this.group}-${this.app}`;
35
+ this.path = path;
36
+ this.$pathComp.push(`./${this.group}/`);
37
+ this.$pathComp.push(`./${this.path}/`);
38
+ }
39
+ else {
40
+ this.app = path;
41
+ this.name = path;
42
+ this.path = '';
43
+ }
44
+ }
45
+ writeManifest(prj, image) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const k8s_tpl_fileName = 'k8s_tpl.yaml';
48
+ const k8s_spec_fileName = 'k8s_spec.json';
49
+ let k8s_tpl = '';
50
+ const k8s_spec = {};
51
+ for (const path of this.$pathComp) {
52
+ const k8s_tplFile = yield Shell_1.default.cat(path + k8s_tpl_fileName, { silent: helpers_1.log.debug, ignoreError: true });
53
+ k8s_tpl = k8s_tplFile && k8s_tplFile !== '' ? k8s_tplFile : k8s_tpl;
54
+ const k8s_specFile = yield Shell_1.default.cat(path + k8s_spec_fileName, { silent: helpers_1.log.debug, ignoreError: true });
55
+ if (k8s_specFile && k8s_specFile !== '') {
56
+ try {
57
+ const sObj = JSON.parse(k8s_specFile);
58
+ k8s_spec.mergeFrom(sObj, true);
59
+ }
60
+ catch (e) {
61
+ helpers_1.log.error(e);
62
+ }
63
+ }
64
+ }
65
+ if (k8s_tpl.length < 10) {
66
+ throw new Exception_1.Exception(`No K8s template [${k8s_tpl_fileName}] found for app:${this.name}`, this.$pathComp);
67
+ }
68
+ helpers_1.log.dbg(`${this.name} k8s specs`, k8s_spec);
69
+ for (const stage of prj.$stages) {
70
+ const k8s_data = {};
71
+ k8s_data.stage = stage;
72
+ k8s_data.app = this;
73
+ k8s_data.image = image;
74
+ k8s_data.prj = prj;
75
+ k8s_data.spec = k8s_spec[stage] || {};
76
+ if (!k8s_data.spec.replicas) {
77
+ k8s_data.spec.replicas = 1;
78
+ }
79
+ const manifest = mustache_1.default.render(k8s_tpl, k8s_data);
80
+ js_yaml_1.default.loadAll(manifest);
81
+ yield Shell_1.default.mkdir(`${prj.rootPath}/_k8s/${stage}`, { ignoreError: false });
82
+ yield fs_1.promises.writeFile(`${prj.rootPath}/_k8s/${stage}/${this.name}.yml`, manifest);
83
+ helpers_1.log.dbg(`[${stage}] ${this.name} writed -> ${prj.rootPath}/_k8s/${stage}/${this.name}.yml `);
84
+ }
85
+ });
86
+ }
87
+ }
88
+ exports.App = App;
89
+ function getApps(prj, config, updatedPaths, maxdepth = 3, ignore = ['*/_*', '*/\.*', '*/node_modules*']) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ Shell_1.default.cd(prj.rootPath);
92
+ const appsPaths = yield Shell_1.default.find(prj.rootPath, config.appFile, maxdepth, ignore);
93
+ const ignorePaths = [...config.ignorePaths || [], ...config.sharedPaths || []];
94
+ const apps = {};
95
+ const watchPaths = {};
96
+ for (const file of appsPaths.sort()) {
97
+ const path = file.replace(prj.rootPath + '/', '').replace('/' + config.appFile, '');
98
+ let skip = false;
99
+ for (const i_path of ignorePaths) {
100
+ if (path.includes(i_path)) {
101
+ skip = true;
102
+ break;
103
+ }
104
+ }
105
+ if (path === '' || skip) {
106
+ continue;
107
+ }
108
+ const app = new App(path);
109
+ if (app.name === config.appFile) {
110
+ app.name = prj.name;
111
+ app.app = prj.name;
112
+ app.group = '';
113
+ app.path = '';
114
+ }
115
+ apps[app.name] = app;
116
+ watchPaths[app.path] = app.name;
117
+ }
118
+ helpers_1.log.dbg(`Find apps by ${config.appFile}`, Object.keys(apps).sort());
119
+ const sharedPaths = config.sharedPaths || [];
120
+ sharedPaths.push('package.json');
121
+ sharedPaths.push('k8s_spec.json');
122
+ sharedPaths.push('k8s_tpl.yaml');
123
+ sharedPaths.push('dockerfile');
124
+ const watchPathsArr = Object.keys(watchPaths);
125
+ let appsChanged = {};
126
+ for (const file of updatedPaths) {
127
+ let allApps = false;
128
+ for (const i_path of sharedPaths) {
129
+ if (file.includes(i_path)) {
130
+ allApps = true;
131
+ break;
132
+ }
133
+ }
134
+ if (allApps) {
135
+ appsChanged = apps;
136
+ break;
137
+ }
138
+ for (const testPath of watchPathsArr) {
139
+ const appName = watchPaths[testPath];
140
+ if ((RegExp(testPath).exec(file)) && apps[appName] && appsChanged[appName] === undefined) {
141
+ appsChanged[appName] = apps[appName];
142
+ }
143
+ }
144
+ }
145
+ const changed = Object.keys(appsChanged);
146
+ return { apps, updated: changed.length > 0 ? changed : undefined };
147
+ });
148
+ }
149
+ exports.getApps = getApps;
150
+ //# sourceMappingURL=App.js.map
package/k8s/App.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../k8s/App.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ declare type DockerImagePrebuildAction = (img: DockerImage) => void;
2
+ export declare class DockerImage {
3
+ path: string;
4
+ key: string;
5
+ srcImage: string;
6
+ tag: string;
7
+ fullTag: string;
8
+ $prebuild_typed?: DockerImagePrebuildAction;
9
+ constructor(path: string, ver: string, build: number);
10
+ prebuild(): Promise<void>;
11
+ build(): Promise<void>;
12
+ push(): Promise<void>;
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=DockerImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockerImage.d.ts","sourceRoot":"","sources":["../../k8s/DockerImage.ts"],"names":[],"mappings":"AASA,aAAK,yBAAyB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;AAG5D,qBAAa,WAAW;IAEvB,IAAI,SAAM;IACV,GAAG,SAAM;IAET,QAAQ,SAAM;IAEd,GAAG,SAAM;IACT,OAAO,SAAM;IAEb,eAAe,CAAC,EAAE,yBAAyB,CAAa;gBAI5C,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IA4B/C,QAAQ;IAOR,KAAK;IAOL,IAAI;CASV"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DockerImage = void 0;
16
+ const fs_1 = __importDefault(require("fs"));
17
+ const helpers_1 = require("../libs/helpers");
18
+ const Shell_1 = __importDefault(require("../libs/Shell"));
19
+ const ENV = process.env;
20
+ const PREBUILD = {};
21
+ class DockerImage {
22
+ constructor(path, ver, build) {
23
+ this.path = '';
24
+ this.key = '';
25
+ this.srcImage = '';
26
+ this.tag = '';
27
+ this.fullTag = '';
28
+ this.$prebuild_typed = undefined;
29
+ this.path = (0, helpers_1.resolvePath)(path);
30
+ const dockerfile = fs_1.default.readFileSync(this.path + '/dockerfile', 'utf8');
31
+ this.key = (0, helpers_1.md5)(dockerfile);
32
+ const dockerImage = /FROM (.+)/.exec(dockerfile);
33
+ if (!dockerImage || dockerImage.length < 2) {
34
+ throw new Error(`Wrong dockerfile format:\n${dockerfile}`);
35
+ }
36
+ this.srcImage = dockerImage[1];
37
+ const dockerName = /#[ ]?IMAGE NAME (.+)/.exec(dockerfile);
38
+ const name = dockerName && dockerName.length > 1 ? dockerName[1] : ENV.CI_PROJECT_NAME || this.key;
39
+ this.tag = `${name}-v${ver}:${build}`;
40
+ this.fullTag = `${ENV.CI_REGISTRY_IMAGE}/${this.tag}`;
41
+ const dockerType = /#[ ]?IMAGE TYPE (.+)/.exec(dockerfile);
42
+ const type = dockerType && dockerType.length > 1 ? dockerType[1].toLowerCase() : this.srcImage.split(':')[0].toLowerCase();
43
+ this.$prebuild_typed = PREBUILD[type];
44
+ }
45
+ prebuild() {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ if (!this.$prebuild_typed) {
48
+ throw new Error(`No prebuild action for ${this.tag}`);
49
+ }
50
+ yield this.$prebuild_typed(this);
51
+ });
52
+ }
53
+ build() {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ Shell_1.default.cd(this.path);
56
+ helpers_1.log.info(`Build docker image: ${this.tag}`);
57
+ yield Shell_1.default.exec(`docker build --platform amd64 -t ${this.fullTag} -f ${this.path}/dockerfile ${this.path}/.`);
58
+ });
59
+ }
60
+ push() {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ yield Shell_1.default.execRepeat(`docker login -u ${ENV.CI_REGISTRY_USER} -p ${ENV.CI_REGISTRY_PASSWORD} ${ENV.CI_REGISTRY}`);
63
+ helpers_1.log.info(`Push docker image: ${this.tag} to registry`);
64
+ yield Shell_1.default.execRepeat(`docker push ${this.fullTag}`);
65
+ helpers_1.log.dbg(`Clear local docker image: ${this.tag}`);
66
+ yield Shell_1.default.exec(`docker rmi -f ${this.fullTag}`);
67
+ });
68
+ }
69
+ }
70
+ exports.DockerImage = DockerImage;
71
+ PREBUILD.nginx = (img) => __awaiter(void 0, void 0, void 0, function* () {
72
+ Shell_1.default.cd(img.path);
73
+ const mounts = { '/etc/nginx': `${img.path}/nginx` };
74
+ helpers_1.log.info(`Test nginx configs`);
75
+ yield run(img.srcImage, 'nginx -t', mounts);
76
+ yield run('yandex/gixy', 'yandex/gixy /etc/nginx/nginx.conf', mounts);
77
+ helpers_1.log.info(`Nginx config file:`);
78
+ helpers_1.log.info(yield Shell_1.default.cat(`${img.path}/nginx/nginx.conf`));
79
+ });
80
+ PREBUILD.gateway = (img) => __awaiter(void 0, void 0, void 0, function* () {
81
+ Shell_1.default.cd(img.path);
82
+ const mounts = { '/etc/nginx': `${img.path}/nginx`, '/etc/certs': `${img.path}/certs` };
83
+ helpers_1.log.info(`Test gateway nginx configs`);
84
+ yield run(img.srcImage, 'nginx -t', mounts);
85
+ yield run('yandex/gixy', 'yandex/gixy /etc/nginx/nginx.conf', mounts);
86
+ helpers_1.log.info(`Nginx config file:`);
87
+ helpers_1.log.info(yield Shell_1.default.cat(`${img.path}/nginx/nginx.conf`));
88
+ });
89
+ PREBUILD.spa = (img) => __awaiter(void 0, void 0, void 0, function* () {
90
+ Shell_1.default.cd(img.path);
91
+ yield PREBUILD.nginx(img);
92
+ helpers_1.log.info(`Test and Distrib WEB SPA sources`);
93
+ yield Shell_1.default.exec(`npm run distrib`);
94
+ });
95
+ PREBUILD.node = (img) => __awaiter(void 0, void 0, void 0, function* () {
96
+ Shell_1.default.cd(img.path);
97
+ helpers_1.log.info(`Test and Distrib Node sources`);
98
+ yield Shell_1.default.exec(`npm run distrib`);
99
+ });
100
+ function run(srcImage, cmd, mnt) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ let extCmd = `docker run --rm`;
103
+ for (const path in mnt) {
104
+ if (mnt.hasOwnProperty(path)) {
105
+ extCmd += ` -v ${mnt[path]}:${path}`;
106
+ }
107
+ }
108
+ extCmd += ` ${srcImage} ${cmd}`;
109
+ yield Shell_1.default.exec(`${extCmd}`);
110
+ });
111
+ }
112
+ //# sourceMappingURL=DockerImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockerImage.js","sourceRoot":"","sources":["../../k8s/DockerImage.ts"],"names":[],"mappings":"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"}
package/k8s/Node.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import '../libs/prototype';
2
+ import { ExecOptions } from '../libs/Shell';
3
+ import { Stage } from '../libs/Project';
4
+ import { Reporter } from '../libs/Reporter';
5
+ export declare class Node {
6
+ configFile: string;
7
+ namespace: string;
8
+ constructor(stage: Stage);
9
+ applyObject(manifestObj: Record<string, any>): Promise<void>;
10
+ apply(manifestFile: string, appName: string): Promise<{
11
+ valid: boolean;
12
+ msg: string;
13
+ }>;
14
+ status(reporter?: Reporter | undefined, appsOnly?: boolean): Promise<string[]>;
15
+ exec(cmd: string, opt?: ExecOptions | undefined, cmdPrefix?: string): Promise<string>;
16
+ }
17
+ //# sourceMappingURL=Node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../k8s/Node.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAI3B,OAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,qBAAa,IAAI;IAEhB,UAAU,SAAM;IAChB,SAAS,SAAM;gBAIH,KAAK,EAAE,KAAK;IAmBlB,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAO5C,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;IAyCpF,MAAM,CAAC,QAAQ,GAAE,QAAQ,GAAG,SAAqB,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyB/F,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,WAAW,GAAG,SAAqB,EAAE,SAAS,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC;CAIlG"}
package/k8s/Node.js ADDED
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Node = void 0;
16
+ require("../libs/prototype");
17
+ const js_yaml_1 = __importDefault(require("js-yaml"));
18
+ const Shell_1 = __importDefault(require("../libs/Shell"));
19
+ const helpers_1 = require("../libs/helpers");
20
+ const Exception_1 = require("../libs/Exception");
21
+ const ENV = process.env;
22
+ class Node {
23
+ constructor(stage) {
24
+ this.configFile = '';
25
+ this.namespace = '';
26
+ this.namespace = stage;
27
+ const configKey = `K8S_${stage.toUpperCase()}_CONFIG`;
28
+ let configFile = ENV[configKey];
29
+ if (stage !== 'prod' && !configFile) {
30
+ configFile = ENV.K8S_STAGES_CONFIG;
31
+ }
32
+ if (!configFile) {
33
+ throw new Exception_1.Exception(`K8s config file not found: ${configKey}`);
34
+ }
35
+ this.configFile = (0, helpers_1.resolvePath)(configFile);
36
+ }
37
+ applyObject(manifestObj) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const manifestYaml = js_yaml_1.default.dump(manifestObj);
40
+ yield this.exec(`apply -f -\n${manifestYaml}`, { silent: false }, 'cat <<EOF | ');
41
+ });
42
+ }
43
+ apply(manifestFile, appName) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ let status;
46
+ try {
47
+ yield this.exec(`apply -f ${manifestFile} --dry-run=server --validate`);
48
+ status = (yield Shell_1.default.exec(`cat ${manifestFile} | grep 'image:'`)).replace('image: ', '').replace(ENV.CI_REGISTRY_IMAGE + '/', '').trim();
49
+ }
50
+ catch (e) {
51
+ helpers_1.log.error(e);
52
+ helpers_1.log.error('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
53
+ helpers_1.log.error(`VALIDATE FAIL: ${appName} at ${manifestFile}`);
54
+ helpers_1.log.error(e.message);
55
+ helpers_1.log.error(`${yield Shell_1.default.cat(manifestFile)}`);
56
+ helpers_1.log.error('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
57
+ return { valid: false, msg: e.message };
58
+ }
59
+ try {
60
+ status = yield this.exec(`apply -f ${manifestFile}`);
61
+ yield this.exec(`rollout status deploy/${appName} --watch=true --timeout=300s`);
62
+ helpers_1.log.info('+++++++++++++++++++++++++++++');
63
+ helpers_1.log.info(`DEPLOYED: ${appName}`);
64
+ helpers_1.log.info(yield this.exec(`get pods --no-headers -l app=${appName} -o wide`, { ignoreError: true, silent: true }));
65
+ helpers_1.log.info('+++++++++++++++++++++++++++++');
66
+ return { valid: true, msg: status };
67
+ }
68
+ catch (error) {
69
+ helpers_1.log.error('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
70
+ helpers_1.log.error(`DEPLOY FAIL: ${appName}`);
71
+ helpers_1.log.error('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
72
+ helpers_1.log.error(yield this.exec(`get pods --no-headers -l app=${appName} -o wide`, { ignoreError: true, silent: true }));
73
+ throw error;
74
+ }
75
+ });
76
+ }
77
+ status(reporter = undefined, appsOnly = true) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const cmd = `get pods -o=jsonpath='{range .items[*]}{"\\n"}{"<b>"}{.metadata.labels.app}{"</b> "}{range .spec.containers[*]}{.image}{end}{" "}{.metadata.labels.pod-template-hash}{" "}{.status.phase}{end}'`;
80
+ const statusArr = (yield this.exec(cmd)).split('\n');
81
+ const result = [];
82
+ for (const row of statusArr) {
83
+ if (row.length < 4 || (appsOnly && (RegExp((ENV.CI_REGISTRY_IMAGE || '')).exec(row)) === null)) {
84
+ continue;
85
+ }
86
+ result.push(row.replace(ENV.CI_REGISTRY_IMAGE + '/', ''));
87
+ }
88
+ helpers_1.log.info(`K8S Node: ${this.namespace.toUpperCase()}`, result);
89
+ if (reporter) {
90
+ const msg = `\n<b>${this.namespace.toUpperCase()}</b> Pods:\n-----------------\n ` + result.join('\n-----------------\n ');
91
+ yield reporter.send(msg, '');
92
+ }
93
+ return result;
94
+ });
95
+ }
96
+ exec(cmd, opt = undefined, cmdPrefix = '') {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ return Shell_1.default.exec(`${cmdPrefix}kubectl --kubeconfig ${this.configFile} -n ${this.namespace} ${cmd}`, opt);
99
+ });
100
+ }
101
+ }
102
+ exports.Node = Node;
103
+ //# sourceMappingURL=Node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../k8s/Node.ts"],"names":[],"mappings":"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"}
package/k8s-build.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import './libs/prototype';
3
+ //# sourceMappingURL=k8s-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"k8s-build.d.ts","sourceRoot":"","sources":["../k8s-build.ts"],"names":[],"mappings":";AACA,OAAO,kBAAkB,CAAC"}
package/k8s-build.js ADDED
@@ -0,0 +1,125 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ require("./libs/prototype");
17
+ const commander_1 = require("commander");
18
+ const Shell_1 = __importDefault(require("./libs/Shell"));
19
+ const Jira_1 = require("./libs/Jira");
20
+ const Git_1 = __importDefault(require("./libs/Git"));
21
+ const Project_1 = require("./libs/Project");
22
+ const Reporter_1 = require("./libs/Reporter");
23
+ const helpers_1 = require("./libs/helpers");
24
+ const DockerImage_1 = require("./k8s/DockerImage");
25
+ const App_1 = require("./k8s/App");
26
+ const ENV = process.env;
27
+ function main() {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ commander_1.program
30
+ .option('--path <project dir>', 'Path to project directory [default - current]')
31
+ .option('--no-prebuild', 'Skip prebuild phase')
32
+ .option('--no-changelog', 'Skip create gitlog')
33
+ .option('--no-gittag', 'Skip create and push new git tag')
34
+ .action(() => __awaiter(this, void 0, void 0, function* () {
35
+ let reporter;
36
+ try {
37
+ (0, helpers_1.checkEnvVars)(['CI_STAGES', 'REPORTER']);
38
+ const opts = commander_1.program.opts() || {};
39
+ const prj = new Project_1.Project(opts.path);
40
+ const reporterOpts = JSON.parse(ENV.REPORTER);
41
+ reporterOpts.postTitle = opts.scheme;
42
+ const pkg = JSON.parse((yield Shell_1.default.cat(prj.rootPath + '/package.json')) || 'no package.json file!');
43
+ const pkgBuild = Number(pkg.version.split('.')[2]);
44
+ prj.build = prj.build < pkgBuild ? pkgBuild : prj.build;
45
+ prj.version = `${pkg.version.split('.').splice(0, 2).join('.')}.${prj.build}`;
46
+ if (!pkg.ci) {
47
+ throw new Error('No ci config in package.json file!');
48
+ }
49
+ reporter = new Reporter_1.Reporter(prj, reporterOpts);
50
+ const config = pkg.ci;
51
+ yield run(prj, reporter, opts, config);
52
+ }
53
+ catch (e) {
54
+ helpers_1.log.error(e);
55
+ if (reporter) {
56
+ try {
57
+ yield reporter.fail(e);
58
+ }
59
+ catch (e2) {
60
+ helpers_1.log.error(e2);
61
+ }
62
+ }
63
+ process.exit(1);
64
+ }
65
+ }));
66
+ yield commander_1.program.parseAsync(process.argv);
67
+ });
68
+ }
69
+ main();
70
+ function run(prj, reporter, opts, config) {
71
+ var _a;
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ const release = opts.changelog ? yield Jira_1.Jira.resolve(prj) : { tasks: [], bugs: [], changelog: '' };
74
+ Shell_1.default.cd(prj.rootPath);
75
+ prj.incrementBuild();
76
+ yield reporter.startBuild();
77
+ helpers_1.log.info(`1. build ${prj.stage}`);
78
+ yield reporter.send(` + Load apps and check updated`);
79
+ helpers_1.log.info(`2. Load apps and check updated`);
80
+ const updateFiles = yield Git_1.default.getDiffFiles();
81
+ helpers_1.log.info(`\n\nUPDATED FILES:\n$`, updateFiles);
82
+ const { apps, updated } = yield (0, App_1.getApps)(prj, config, updateFiles);
83
+ if (!updated) {
84
+ helpers_1.log.info('SKIP BUILD: NO Apps to update!');
85
+ yield reporter.send(`⏩ SKIP - no apps to update\n ${updateFiles.join('\n ')}`, ' ');
86
+ process.exit(0);
87
+ }
88
+ yield reporter.send(` ~ <b>${updated.join('</b>\n ~ <b>')}</b>`);
89
+ yield reporter.send(` + Write K8s manifests`);
90
+ helpers_1.log.info(`3. Write K8s manifests`);
91
+ const image = new DockerImage_1.DockerImage(prj.rootPath, prj.shortVersion, prj.build);
92
+ helpers_1.log.dbg(`DockerImage`, image);
93
+ for (const appName of updated) {
94
+ yield ((_a = apps[appName]) === null || _a === void 0 ? void 0 : _a.writeManifest(prj, image));
95
+ }
96
+ if (opts.prebuild) {
97
+ yield reporter.send(` + Test and distrib`);
98
+ helpers_1.log.dbg(`4. Pre build`);
99
+ yield image.prebuild();
100
+ }
101
+ yield reporter.send(` + Build docker image: ${image.tag}`);
102
+ helpers_1.log.dbg(`5. Build`);
103
+ yield image.build();
104
+ yield reporter.send(` + Push docker image to registry`);
105
+ helpers_1.log.dbg(`6. Docker push`);
106
+ yield image.push();
107
+ yield reporter.send(` + Save current build: ${prj.build}`);
108
+ helpers_1.log.dbg(`7. Put current build:${prj.build} to GitLab`);
109
+ yield prj.saveGitLabBuild();
110
+ if (opts.changelog) {
111
+ yield prj.updateChangeLog(release.changelog);
112
+ yield reporter.send(` + Update <a href=\"${prj.url}/-/blob/${ENV.CI_COMMIT_REF_NAME || 'dev'}/CHANGELOG.md\">changelog</a>.`);
113
+ }
114
+ yield Git_1.default.setOrigin();
115
+ yield Shell_1.default.exec(`git add -A`, { ignoreError: true, silent: false });
116
+ yield Shell_1.default.exec(`git commit -a -m "v${prj.version}"`, { ignoreError: true, silent: false });
117
+ yield Git_1.default.push(ENV.CI_COMMIT_REF_NAME || 'dev');
118
+ if (opts.gittag) {
119
+ yield reporter.send(` + Git tag new version`);
120
+ yield Git_1.default.makeTag(prj.version);
121
+ }
122
+ yield reporter.send(`\n✅ <b>${reporter.title}</b> builded!`, ' ');
123
+ });
124
+ }
125
+ //# sourceMappingURL=k8s-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"k8s-build.js","sourceRoot":"","sources":["../k8s-build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import './libs/prototype';
3
+ //# sourceMappingURL=k8s-deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"k8s-deploy.d.ts","sourceRoot":"","sources":["../k8s-deploy.ts"],"names":[],"mappings":";AACA,OAAO,kBAAkB,CAAC"}