@soft-artel/ci 1.2.13 → 1.3.15

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/.env +21 -0
  2. package/.eslintcache +1 -0
  3. package/.eslintignore +4 -0
  4. package/.eslintrc +246 -0
  5. package/.gitlab-ci.yml +12 -0
  6. package/_publish.sh +24 -0
  7. package/k8s/App.ts +200 -0
  8. package/k8s/DockerImage.ts +147 -0
  9. package/k8s/Node.ts +119 -0
  10. package/k8s-build.ts +175 -0
  11. package/k8s-deploy.ts +174 -0
  12. package/libs/Exception.ts +19 -0
  13. package/libs/Git.ts +199 -0
  14. package/libs/Gitlab.ts +86 -0
  15. package/libs/Jira.ts +239 -0
  16. package/libs/Project.ts +215 -0
  17. package/libs/Reporter.ts +181 -0
  18. package/libs/Shell.ts +119 -0
  19. package/libs/helpers.ts +114 -0
  20. package/libs/prototype.ts +313 -0
  21. package/package.json +1 -1
  22. package/tsconfig.json +24 -0
  23. package/upd_pkg.ts +21 -0
  24. package/xcode.ts +226 -0
  25. package/k8s/App.d.ts +0 -22
  26. package/k8s/App.d.ts.map +0 -1
  27. package/k8s/App.js +0 -149
  28. package/k8s/App.js.map +0 -1
  29. package/k8s/DockerImage.d.ts +0 -15
  30. package/k8s/DockerImage.d.ts.map +0 -1
  31. package/k8s/DockerImage.js +0 -108
  32. package/k8s/DockerImage.js.map +0 -1
  33. package/k8s/Node.d.ts +0 -17
  34. package/k8s/Node.d.ts.map +0 -1
  35. package/k8s/Node.js +0 -103
  36. package/k8s/Node.js.map +0 -1
  37. package/k8s-build.d.ts +0 -3
  38. package/k8s-build.d.ts.map +0 -1
  39. package/k8s-build.js +0 -125
  40. package/k8s-build.js.map +0 -1
  41. package/k8s-deploy.d.ts +0 -3
  42. package/k8s-deploy.d.ts.map +0 -1
  43. package/k8s-deploy.js +0 -128
  44. package/k8s-deploy.js.map +0 -1
  45. package/libs/Exception.d.ts +0 -5
  46. package/libs/Exception.d.ts.map +0 -1
  47. package/libs/Exception.js +0 -13
  48. package/libs/Exception.js.map +0 -1
  49. package/libs/Git.d.ts +0 -44
  50. package/libs/Git.d.ts.map +0 -1
  51. package/libs/Git.js +0 -160
  52. package/libs/Git.js.map +0 -1
  53. package/libs/Gitlab.d.ts +0 -12
  54. package/libs/Gitlab.d.ts.map +0 -1
  55. package/libs/Gitlab.js +0 -78
  56. package/libs/Gitlab.js.map +0 -1
  57. package/libs/Jira.d.ts +0 -31
  58. package/libs/Jira.d.ts.map +0 -1
  59. package/libs/Jira.js +0 -157
  60. package/libs/Jira.js.map +0 -1
  61. package/libs/Project.d.ts +0 -39
  62. package/libs/Project.d.ts.map +0 -1
  63. package/libs/Project.js +0 -177
  64. package/libs/Project.js.map +0 -1
  65. package/libs/Reporter.d.ts +0 -34
  66. package/libs/Reporter.d.ts.map +0 -1
  67. package/libs/Reporter.js +0 -129
  68. package/libs/Reporter.js.map +0 -1
  69. package/libs/Shell.d.ts +0 -39
  70. package/libs/Shell.d.ts.map +0 -1
  71. package/libs/Shell.js +0 -107
  72. package/libs/Shell.js.map +0 -1
  73. package/libs/helpers.d.ts +0 -29
  74. package/libs/helpers.d.ts.map +0 -1
  75. package/libs/helpers.js +0 -101
  76. package/libs/helpers.js.map +0 -1
  77. package/libs/prototype.d.ts +0 -9
  78. package/libs/prototype.d.ts.map +0 -1
  79. package/libs/prototype.js +0 -186
  80. package/libs/prototype.js.map +0 -1
  81. package/upd_pkg.d.ts +0 -3
  82. package/upd_pkg.d.ts.map +0 -1
  83. package/upd_pkg.js +0 -28
  84. package/upd_pkg.js.map +0 -1
  85. package/xcode.d.ts +0 -3
  86. package/xcode.d.ts.map +0 -1
  87. package/xcode.js +0 -163
  88. package/xcode.js.map +0 -1
package/xcode.ts ADDED
@@ -0,0 +1,226 @@
1
+ #!/usr/bin/env node
2
+
3
+ import {program, OptionValues} from 'commander';
4
+
5
+ import Shell from './libs/Shell';
6
+ import Git from './libs/Git';
7
+ import {Jira} from './libs/Jira';
8
+ import { log, stripTags, checkEnvVars, resolvePath } from './libs/helpers';
9
+ import { Project } from './libs/Project';
10
+ import { Reporter } from './libs/Reporter';
11
+
12
+
13
+ const ENV = process.env;
14
+
15
+ // ========================================================
16
+
17
+
18
+ async function main() {
19
+
20
+ program
21
+ .option('--path <xcode project dir>', 'Path to Xcode project directory [default - current]')
22
+ .option('--scheme <Build scheme>', 'Xcode scheme to build and deploy')
23
+ .option('--debug', 'Output extra debugging info')
24
+ .action(
25
+ async () => {
26
+
27
+ let reporter: Reporter | undefined;
28
+
29
+ try {
30
+
31
+ // ------------------
32
+ // Инициализируемся
33
+ checkEnvVars(['SECRETS', 'REPORTER']);
34
+ // SECRETS: { bugsnag: { shema: token }, keychain: { path, password } }
35
+
36
+ const opts = program.opts() || {};
37
+ const prj = new Project(opts.path, opts.stage);
38
+
39
+ const reporterOpts = JSON.parse(ENV.REPORTER!);
40
+ reporterOpts.postTitle = opts.scheme;
41
+
42
+ reporter = new Reporter(prj, reporterOpts);
43
+
44
+ // Запускаем команду
45
+ await run(prj, reporter, opts);
46
+
47
+ } catch(e){
48
+
49
+ log.error(e);
50
+
51
+ if(reporter){
52
+ try {
53
+ await reporter.fail(e);
54
+ } catch(e2){
55
+ log.error(e2);
56
+ }
57
+
58
+ }
59
+
60
+ process.exit(1);
61
+ }
62
+ }
63
+ );
64
+
65
+ await program.parseAsync(process.argv);
66
+ }
67
+ main();
68
+
69
+ // ============================================
70
+ // SA CI IOS
71
+
72
+ async function run(prj: Project, reporter: Reporter, opts: OptionValues) {
73
+
74
+
75
+ // ------------------
76
+ // Проверяем что есть изменения
77
+ const changedFiles = await Git.getDiffFiles();
78
+
79
+ if(changedFiles.length === 0){
80
+ log.info('SKIP BUILD: NO changedFiles found in repo');
81
+ process.exit(0);
82
+ } else {
83
+ log.info('START BUILD!');
84
+ log.info(changedFiles);
85
+ }
86
+
87
+ // ------------------
88
+ // Инициализируемся
89
+ const secrets = JSON.parse(ENV.SECRETS!);
90
+ const scheme = opts.scheme || 'iOS';
91
+
92
+ // Обрабатываем ситуацию когда в конфиге не валидные данные - берем из проекта билд и версию
93
+ const xcodeVersion = await Shell.exec(`xcodebuild -showBuildSettings -scheme ${ scheme } | grep MARKETING_VERSION | tr -d 'MARKETING_VERSION = '`, { silent: true });
94
+ const xcodeBuild = Number(await Shell.exec(`xcodebuild -showBuildSettings -scheme ${ scheme } | grep CURRENT_PROJECT_VERSION | tr -d 'CURRENT_PROJECT_VERSION = '`, { silent: true }));
95
+
96
+ const bundleID = await Shell.exec(`xcodebuild -showBuildSettings -scheme ${ scheme } | grep PRODUCT_BUNDLE_IDENTIFIER | tr -d 'PRODUCT_BUNDLE_IDENTIFIER = '`, { silent: true });
97
+
98
+ prj.build = prj.build < xcodeBuild ? xcodeBuild : prj.build;
99
+ prj.version = `${ xcodeVersion }.${ prj.build }`;
100
+
101
+ // 1. BUILD ------------------------
102
+ prj.incrementBuild();
103
+ await reporter.startBuild();
104
+
105
+ await fastlane('increment_build_number', { build_number: prj.build });
106
+
107
+ log.info('unlock_keychain');
108
+
109
+ await fastlane('unlock_keychain', {
110
+ path: resolvePath(secrets.keychain.path),
111
+ password: secrets.keychain.password,
112
+ set_default: true,
113
+ },
114
+ { silent: true });
115
+
116
+ await reporter.send(` + Build & archive xcode project.`);
117
+ await fastlane('build_app', {
118
+ scheme,
119
+ configuration: 'Release',
120
+ silent: false,
121
+ export_method: 'app-store',
122
+ xcargs: '-allowProvisioningUpdates',
123
+ include_bitcode: true,
124
+ }, { verbose: '' });
125
+
126
+
127
+ // 2. RELEASE INFO ------------------------
128
+
129
+ const release = await Jira.resolve(prj);
130
+ await reporter.send(` + Resolved tasks:${ release.tasks.length }, bugs: ${ release.bugs.length }`);
131
+
132
+ await Shell.exec(`git reset --hard HEAD`, { silent: false });
133
+ await prj.updateChangeLog(release.changelog);
134
+
135
+ await Git.setOrigin();
136
+ await Shell.exec(`git commit -a -m "v${ prj.version }"`, { ignoreError: true, silent:false });
137
+ await Git.push(ENV.CI_COMMIT_REF_NAME || 'dev');
138
+ await reporter.send(` + Update <a href="${ prj.url }/-/blob/${ ENV.CI_COMMIT_REF_NAME || 'dev' }/CHANGELOG.md">changelog</a>.`);
139
+
140
+ await reporter.send(` + Git tag new version`);
141
+ await Git.makeTag(prj.version);
142
+
143
+ await reporter.send(` + Save build: ${ prj.build} to GitLab`);
144
+ await prj.saveGitLabBuild();
145
+
146
+
147
+ // 3. DEPLOY ARCHIVE ------------------------
148
+ await reporter.deploy('testfight');
149
+ await reporter.send(` + Upload to Testfilght.`);
150
+ await fastlane('upload_to_testflight', {
151
+ api_key_path: ENV.TESTFLIGHT,
152
+ changelog: stripTags(release.changelog),
153
+ }, { attempts: 3, verbose: '' });
154
+
155
+ // 4. UPLOAD DSYMS ------------------------
156
+
157
+ if(secrets.bugsnag[ scheme ]){
158
+
159
+ await reporter.send(` + Download DSYMs.`);
160
+ await fastlane('download_dsyms', {
161
+ api_key_path: ENV.TESTFLIGHT_KEY,
162
+ version: prj.shortVersion,
163
+ build_number: prj.build,
164
+ app_identifier: bundleID,
165
+ wait_for_dsym_processing: true,
166
+ output_directory: prj.rootPath,
167
+ }, {
168
+ attempts: 10, sleep: 120, silent: false, ignoreError: true,
169
+ });
170
+
171
+ await reporter.send(` + Upload DSYMs to BugSnag.`);
172
+ const cmd = `bugsnag-dsym-upload --api-key ${ secrets.bugsnag[ scheme ] } --project-root ./ ${ prj.rootPath }/${bundleID}-${prj.shortVersion}-${prj.build}.dSYM.zip`;
173
+ await Shell.execRepeat(cmd, 10, 120, { silent: false, ignoreError: true });
174
+
175
+ } else {
176
+ await reporter.send(` - Upload DSYMs to BugSnag. [SKIPED]`);
177
+ }
178
+
179
+ // 5. RELEASE ------------------------
180
+
181
+ await reporter.send(` + Resolved tasks:${ release.tasks.length }, bugs: ${ release.bugs.length }`);
182
+
183
+ const bugsDeployed = await Jira.moveBugsAsDeployed(release.bugs);
184
+ if(bugsDeployed.length > 0){
185
+ await reporter.send(` + Deployed ${ bugsDeployed.length } bugs.`);
186
+ } else {
187
+ await reporter.send(` - Deploy bugs. [SKIPED]`);
188
+ }
189
+
190
+ await reporter.send(` + Save ${ prj.stage} -> ${ prj.version} to GitLab`);
191
+ await prj.saveGitLabStagesVersions();
192
+
193
+ // FINISH!
194
+ await reporter.release(release.changelog);
195
+
196
+
197
+ }
198
+
199
+ // ----------------------------
200
+ // HELPERS
201
+
202
+ function fastlane(action: string, pars: Record<string, any> = {}, { silent = false, attempts = 1, sleep = 60, ignoreError = false, verbose = '--verbose' } = {}) {
203
+
204
+ let params = '';
205
+ for (const key of Object.keys(pars)) {
206
+
207
+ switch (typeof pars[key]) {
208
+ case 'object':
209
+ params += ` ${ key }:"${ JSON.stringify(pars[key]) }"`;
210
+ break;
211
+
212
+ case 'string':
213
+ params += ` ${ key }:"${ pars[key] }"`;
214
+ break;
215
+ case 'number':
216
+ params += ` ${ key }:${ pars[key] }`;
217
+ break;
218
+
219
+ default:
220
+ params += ` ${ key } `;
221
+ }
222
+ }
223
+
224
+ return Shell.execRepeat(`fastlane run ${ action } ${ params } ${ verbose }`, attempts, sleep, { silent, ignoreError });
225
+ }
226
+
package/k8s/App.d.ts DELETED
@@ -1,22 +0,0 @@
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
package/k8s/App.d.ts.map DELETED
@@ -1 +0,0 @@
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,CA0ExO"}
package/k8s/App.js DELETED
@@ -1,149 +0,0 @@
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_tpl.yaml');
122
- sharedPaths.push('dockerfile');
123
- const watchPathsArr = Object.keys(watchPaths);
124
- let appsChanged = {};
125
- for (const file of updatedPaths) {
126
- let allApps = false;
127
- for (const i_path of sharedPaths) {
128
- if (file.includes(i_path)) {
129
- allApps = true;
130
- break;
131
- }
132
- }
133
- if (allApps) {
134
- appsChanged = apps;
135
- break;
136
- }
137
- for (const testPath of watchPathsArr) {
138
- const appName = watchPaths[testPath];
139
- if ((RegExp(testPath).exec(file)) && apps[appName] && appsChanged[appName] === undefined) {
140
- appsChanged[appName] = apps[appName];
141
- }
142
- }
143
- }
144
- const changed = Object.keys(appsChanged);
145
- return { apps, updated: changed.length > 0 ? changed : undefined };
146
- });
147
- }
148
- exports.getApps = getApps;
149
- //# sourceMappingURL=App.js.map
package/k8s/App.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../k8s/App.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,108 +0,0 @@
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
- });
78
- PREBUILD.gateway = (img) => __awaiter(void 0, void 0, void 0, function* () {
79
- Shell_1.default.cd(img.path);
80
- const mounts = { '/etc/nginx': `${img.path}/nginx`, '/etc/certs': `${img.path}/certs` };
81
- helpers_1.log.info(`Test gateway nginx configs`);
82
- yield run(img.srcImage, 'nginx -t', mounts);
83
- yield run('yandex/gixy', 'yandex/gixy /etc/nginx/nginx.conf', mounts);
84
- });
85
- PREBUILD.spa = (img) => __awaiter(void 0, void 0, void 0, function* () {
86
- Shell_1.default.cd(img.path);
87
- yield PREBUILD.nginx(img);
88
- helpers_1.log.info(`Test and Distrib WEB SPA sources`);
89
- yield Shell_1.default.exec(`npm run distrib`);
90
- });
91
- PREBUILD.node = (img) => __awaiter(void 0, void 0, void 0, function* () {
92
- Shell_1.default.cd(img.path);
93
- helpers_1.log.info(`Test and Distrib Node sources`);
94
- yield Shell_1.default.exec(`npm run distrib`);
95
- });
96
- function run(srcImage, cmd, mnt) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- let extCmd = `docker run --rm`;
99
- for (const path in mnt) {
100
- if (mnt.hasOwnProperty(path)) {
101
- extCmd += ` -v ${mnt[path]}:${path}`;
102
- }
103
- }
104
- extCmd += ` ${srcImage} ${cmd}`;
105
- yield Shell_1.default.exec(`${extCmd}`);
106
- });
107
- }
108
- //# sourceMappingURL=DockerImage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DockerImage.js","sourceRoot":"","sources":["../../k8s/DockerImage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AAEpB,6CAAwD;AACxD,0DAAkC;AAElC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AAKxB,MAAM,QAAQ,GAA8C,EAAE,CAAC;AAE/D,MAAa,WAAW;IAcvB,YAAY,IAAY,EAAG,GAAW,EAAE,KAAa;QAZrD,SAAI,GAAG,EAAE,CAAC;QACV,QAAG,GAAG,EAAE,CAAC;QAET,aAAQ,GAAG,EAAE,CAAC;QAEd,QAAG,GAAG,EAAE,CAAC;QACT,YAAO,GAAG,EAAE,CAAC;QAEb,oBAAe,GAA+B,SAAS,CAAC;QAKvD,IAAI,CAAC,IAAI,GAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,GAAK,IAAA,aAAG,EAAC,UAAU,CAAC,CAAC;QAE7B,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,IAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAC;YACzC,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC;QAGnG,IAAI,CAAC,GAAG,GAAI,GAAG,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,GAAI,GAAG,CAAC,iBAAkB,IAAK,IAAI,CAAC,GAAI,EAAE,CAAC;QAE1D,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAE3H,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAE,IAAI,CAAE,CAAC;IACzC,CAAC;IAIK,QAAQ;;YACb,IAAG,CAAC,IAAI,CAAC,eAAe,EAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,0BAA2B,IAAI,CAAC,GAAI,EAAE,CAAC,CAAC;aACxD;YACD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;KAAA;IAEK,KAAK;;YACV,eAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,aAAG,CAAC,IAAI,CAAC,uBAAwB,IAAI,CAAC,GAAI,EAAE,CAAC,CAAC;YAE9C,MAAM,eAAK,CAAC,IAAI,CAAC,oCAAqC,IAAI,CAAC,OAAQ,OAAQ,IAAI,CAAC,IAAK,eAAgB,IAAI,CAAC,IAAK,IAAI,CAAC,CAAC;QACtH,CAAC;KAAA;IAEK,IAAI;;YACT,MAAM,eAAK,CAAC,UAAU,CAAC,mBAAoB,GAAG,CAAC,gBAAiB,OAAQ,GAAG,CAAC,oBAAqB,IAAK,GAAG,CAAC,WAAY,EAAE,CAAC,CAAC;YAE1H,aAAG,CAAC,IAAI,CAAC,sBAAuB,IAAI,CAAC,GAAI,cAAc,CAAC,CAAC;YACzD,MAAM,eAAK,CAAC,UAAU,CAAC,eAAgB,IAAI,CAAC,OAAQ,EAAE,CAAC,CAAC;YAExD,aAAG,CAAC,GAAG,CAAC,6BAA8B,IAAI,CAAC,GAAI,EAAE,CAAC,CAAC;YACnD,MAAM,eAAK,CAAC,IAAI,CAAC,kBAAmB,IAAI,CAAC,OAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;KAAA;CACD;AAjED,kCAiEC;AAID,QAAQ,CAAC,KAAK,GAAG,CAAO,GAAgB,EAAE,EAAE;IAC3C,eAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEnB,MAAM,MAAM,GAAG,EAAE,YAAY,EAAC,GAAI,GAAG,CAAC,IAAK,QAAQ,EAAE,CAAC;IAEtD,aAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/B,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,GAAG,CAAC,aAAa,EAAE,mCAAmC,EAAE,MAAM,CAAC,CAAC;AAEvE,CAAC,CAAA,CAAC;AAIF,QAAQ,CAAC,OAAO,GAAG,CAAO,GAAgB,EAAE,EAAE;IAC7C,eAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEnB,MAAM,MAAM,GAAG,EAAE,YAAY,EAAC,GAAI,GAAG,CAAC,IAAK,QAAQ,EAAE,YAAY,EAAC,GAAI,GAAG,CAAC,IAAK,QAAQ,EAAE,CAAC;IAE1F,aAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACvC,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,GAAG,CAAC,aAAa,EAAE,mCAAmC,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC,CAAA,CAAC;AAIF,QAAQ,CAAC,GAAG,GAAG,CAAO,GAAgB,EAAE,EAAE;IACzC,eAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,aAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAM7C,MAAM,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC,CAAA,CAAC;AAIF,QAAQ,CAAC,IAAI,GAAG,CAAO,GAAgB,EAAE,EAAE;IAC1C,eAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,aAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC1C,MAAM,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC,CAAA,CAAC;AAIF,SAAe,GAAG,CAAC,QAAgB,EAAE,GAAW,EAAE,GAA4B;;QAC7E,IAAI,MAAM,GAAG,iBAAiB,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACvB,IAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAC5B,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;aACrC;SACD;QAED,MAAM,IAAI,IAAK,QAAS,IAAK,GAAI,EAAE,CAAC;QACpC,MAAM,eAAK,CAAC,IAAI,CAAC,GAAI,MAAO,EAAE,CAAC,CAAC;IACjC,CAAC;CAAA"}
package/k8s/Node.d.ts DELETED
@@ -1,17 +0,0 @@
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
package/k8s/Node.d.ts.map DELETED
@@ -1 +0,0 @@
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"}