indraq_cli 1.3.0
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.
- package/LICENSE +21 -0
- package/README.md +1191 -0
- package/dist/cli/create-program.d.ts +3 -0
- package/dist/cli/create-program.d.ts.map +1 -0
- package/dist/cli/create-program.js +28 -0
- package/dist/cli/create-program.js.map +1 -0
- package/dist/cli/doctor.command.d.ts +2 -0
- package/dist/cli/doctor.command.d.ts.map +1 -0
- package/dist/cli/doctor.command.js +32 -0
- package/dist/cli/doctor.command.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/deploy/commands/build.command.d.ts +6 -0
- package/dist/modules/deploy/commands/build.command.d.ts.map +1 -0
- package/dist/modules/deploy/commands/build.command.js +127 -0
- package/dist/modules/deploy/commands/build.command.js.map +1 -0
- package/dist/modules/deploy/commands/configure.command.d.ts +2 -0
- package/dist/modules/deploy/commands/configure.command.d.ts.map +1 -0
- package/dist/modules/deploy/commands/configure.command.js +404 -0
- package/dist/modules/deploy/commands/configure.command.js.map +1 -0
- package/dist/modules/deploy/config/deployment-config.d.ts +29 -0
- package/dist/modules/deploy/config/deployment-config.d.ts.map +1 -0
- package/dist/modules/deploy/config/deployment-config.js +164 -0
- package/dist/modules/deploy/config/deployment-config.js.map +1 -0
- package/dist/modules/deploy/index.d.ts +3 -0
- package/dist/modules/deploy/index.d.ts.map +1 -0
- package/dist/modules/deploy/index.js +57 -0
- package/dist/modules/deploy/index.js.map +1 -0
- package/dist/modules/deploy/services/docker.service.d.ts +7 -0
- package/dist/modules/deploy/services/docker.service.d.ts.map +1 -0
- package/dist/modules/deploy/services/docker.service.js +67 -0
- package/dist/modules/deploy/services/docker.service.js.map +1 -0
- package/dist/modules/deploy/services/jenkins.service.d.ts +23 -0
- package/dist/modules/deploy/services/jenkins.service.d.ts.map +1 -0
- package/dist/modules/deploy/services/jenkins.service.js +273 -0
- package/dist/modules/deploy/services/jenkins.service.js.map +1 -0
- package/dist/shared/git/git.service.d.ts +11 -0
- package/dist/shared/git/git.service.d.ts.map +1 -0
- package/dist/shared/git/git.service.js +110 -0
- package/dist/shared/git/git.service.js.map +1 -0
- package/dist/shared/github/github-api.service.d.ts +8 -0
- package/dist/shared/github/github-api.service.d.ts.map +1 -0
- package/dist/shared/github/github-api.service.js +77 -0
- package/dist/shared/github/github-api.service.js.map +1 -0
- package/dist/shared/github/github-auth.service.d.ts +10 -0
- package/dist/shared/github/github-auth.service.d.ts.map +1 -0
- package/dist/shared/github/github-auth.service.js +79 -0
- package/dist/shared/github/github-auth.service.js.map +1 -0
- package/dist/shared/runtime/runtime-doctor.d.ts +8 -0
- package/dist/shared/runtime/runtime-doctor.d.ts.map +1 -0
- package/dist/shared/runtime/runtime-doctor.js +31 -0
- package/dist/shared/runtime/runtime-doctor.js.map +1 -0
- package/docs/assets/indraq-logo.png +0 -0
- package/docs/assets/indraq-mark.png +0 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-program.d.ts","sourceRoot":"","sources":["../../src/cli/create-program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,aAAa,QAAO,OAuBhC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createProgram = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const deploy_1 = require("../modules/deploy");
|
|
6
|
+
const configure_command_1 = require("../modules/deploy/commands/configure.command");
|
|
7
|
+
const doctor_command_1 = require("./doctor.command");
|
|
8
|
+
const createProgram = () => {
|
|
9
|
+
const program = new commander_1.Command();
|
|
10
|
+
program
|
|
11
|
+
.name('indraq')
|
|
12
|
+
.description('IndraQ internal engineering CLI.')
|
|
13
|
+
.version('1.3.0');
|
|
14
|
+
program
|
|
15
|
+
.command('doctor')
|
|
16
|
+
.description('Diagnose Node and command-resolution problems.')
|
|
17
|
+
.action(() => (0, doctor_command_1.doctor)());
|
|
18
|
+
program
|
|
19
|
+
.command('configure')
|
|
20
|
+
.description('Configure IndraQ deployment for the current project.')
|
|
21
|
+
.action(async () => {
|
|
22
|
+
await (0, configure_command_1.configure)();
|
|
23
|
+
});
|
|
24
|
+
(0, deploy_1.registerDeployModule)(program);
|
|
25
|
+
return program;
|
|
26
|
+
};
|
|
27
|
+
exports.createProgram = createProgram;
|
|
28
|
+
//# sourceMappingURL=create-program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-program.js","sourceRoot":"","sources":["../../src/cli/create-program.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,8CAAyD;AACzD,oFAAyE;AACzE,qDAA0C;AAEnC,MAAM,aAAa,GAAG,GAAY,EAAE;IACzC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,kCAAkC,CAAC;SAC/C,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,uBAAM,GAAE,CAAC,CAAC;IAE1B,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAA,6BAAS,GAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAvBW,QAAA,aAAa,iBAuBxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.command.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.command.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,QAAO,IAsBzB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.doctor = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const runtime_doctor_1 = require("../shared/runtime/runtime-doctor");
|
|
9
|
+
const doctor = () => {
|
|
10
|
+
console.log(chalk_1.default.bold('\nIndraQ CLI Doctor\n'));
|
|
11
|
+
console.log(`Node: ${process.version}`);
|
|
12
|
+
console.log(`Platform: ${process.platform} ${process.arch}`);
|
|
13
|
+
console.log(`CLI file: ${process.argv[1] ?? 'unknown'}\n`);
|
|
14
|
+
const resolution = (0, runtime_doctor_1.resolveCommand)('indraq');
|
|
15
|
+
if (resolution.paths.length) {
|
|
16
|
+
console.log('Command resolution order:');
|
|
17
|
+
resolution.paths.forEach((candidate, index) => console.log(` ${index + 1}. ${candidate}`));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
console.log(chalk_1.default.yellow('ā `indraq` is not discoverable through PATH.'));
|
|
21
|
+
}
|
|
22
|
+
if (resolution.shadowed) {
|
|
23
|
+
console.log(chalk_1.default.red('\nā `indraq` is being shadowed by another Windows file/application.'));
|
|
24
|
+
console.log(`Expected npm launcher: ${resolution.expectedNpmLauncher ?? 'unknown'}`);
|
|
25
|
+
console.log(chalk_1.default.yellow('Inspect the first path above. If it is an old IndraQ file, rename/remove it, then open a new terminal.'));
|
|
26
|
+
process.exitCode = 1;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
console.log(chalk_1.default.green('\nā `indraq` command resolution looks correct.'));
|
|
30
|
+
};
|
|
31
|
+
exports.doctor = doctor;
|
|
32
|
+
//# sourceMappingURL=doctor.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.command.js","sourceRoot":"","sources":["../../src/cli/doctor.command.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qEAAkE;AAE3D,MAAM,MAAM,GAAG,GAAS,EAAE;IAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,IAAA,+BAAc,EAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,CAAC,mBAAmB,IAAI,SAAS,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wGAAwG,CAAC,CAAC,CAAC;QACpI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC;AAtBW,QAAA,MAAM,UAsBjB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const create_program_1 = require("./cli/create-program");
|
|
9
|
+
const program = (0, create_program_1.createProgram)();
|
|
10
|
+
program.parseAsync(process.argv).catch((error) => {
|
|
11
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
12
|
+
console.error(chalk_1.default.red(`\nā ${message}\n`));
|
|
13
|
+
process.exitCode = 1;
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA0B;AAC1B,yDAAqD;AAErD,MAAM,OAAO,GAAG,IAAA,8BAAa,GAAE,CAAC;AAEhC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACxD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IACzE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/build.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAqBrC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,eAAe,CAAC;CACtB;AAgBD,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,IAAI,CAiJ/D,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.build = void 0;
|
|
7
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const node_fs_1 = require("node:fs");
|
|
10
|
+
const deployment_config_1 = require("../config/deployment-config");
|
|
11
|
+
const github_auth_service_1 = require("../../../shared/github/github-auth.service");
|
|
12
|
+
const docker_service_1 = require("../services/docker.service");
|
|
13
|
+
const jenkins_service_1 = require("../services/jenkins.service");
|
|
14
|
+
const TAG_PATTERN = /^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$/;
|
|
15
|
+
const getGhcrImageName = (config, configuredImageName) => {
|
|
16
|
+
const withoutRegistry = configuredImageName.trim().replace(/^ghcr\.io\//i, '');
|
|
17
|
+
const hasOwner = withoutRegistry.includes('/');
|
|
18
|
+
const repository = hasOwner ? withoutRegistry : `${config.github.owner}/${withoutRegistry}`;
|
|
19
|
+
return `ghcr.io/${repository.toLowerCase()}`;
|
|
20
|
+
};
|
|
21
|
+
const build = async (options) => {
|
|
22
|
+
const { env } = options;
|
|
23
|
+
console.log(chalk_1.default.blue.bold(`š Deploying ${env.toUpperCase()} environment...\n`));
|
|
24
|
+
const config = (0, deployment_config_1.ensureDeploymentConfig)();
|
|
25
|
+
const environmentConfig = config.environments[env];
|
|
26
|
+
const dockerfilePath = environmentConfig.dockerfilePath;
|
|
27
|
+
const imageName = getGhcrImageName(config, environmentConfig.imageName);
|
|
28
|
+
const jenkinsJobName = environmentConfig.imageName;
|
|
29
|
+
if (!config.jenkins) {
|
|
30
|
+
throw new Error('Jenkins CLI is not configured for this project. Run `indraq configure` and enter your Jenkins server details.');
|
|
31
|
+
}
|
|
32
|
+
(0, docker_service_1.assertDockerAvailable)();
|
|
33
|
+
(0, jenkins_service_1.assertJavaAvailable)();
|
|
34
|
+
const githubAuth = (0, github_auth_service_1.detectGitHubAuthentication)();
|
|
35
|
+
if (!githubAuth) {
|
|
36
|
+
throw new Error('No authenticated GitHub session was found. Sign in using Git/Git Bash (Git Credential Manager or SSH), or authenticate the optional GitHub CLI.');
|
|
37
|
+
}
|
|
38
|
+
if (!(0, node_fs_1.existsSync)(dockerfilePath)) {
|
|
39
|
+
throw new Error(`Dockerfile not found: ${dockerfilePath}`);
|
|
40
|
+
}
|
|
41
|
+
if (!(0, node_fs_1.existsSync)((0, jenkins_service_1.getJenkinsCliJarPath)(config.jenkins.serverId))) {
|
|
42
|
+
throw new Error('Jenkins CLI JAR is missing. Run `indraq configure` again.');
|
|
43
|
+
}
|
|
44
|
+
if (!(0, node_fs_1.existsSync)((0, jenkins_service_1.getJenkinsAuthFilePath)(config.jenkins.serverId))) {
|
|
45
|
+
throw new Error('Jenkins credentials are missing. Run `indraq configure` again.');
|
|
46
|
+
}
|
|
47
|
+
console.log(chalk_1.default.blue.bold('š Preflight Checks\n'));
|
|
48
|
+
console.log(chalk_1.default.green(`ā Docker available; GitHub authenticated via ${(0, github_auth_service_1.describeGitHubAuthentication)(githubAuth)}`));
|
|
49
|
+
console.log(chalk_1.default.gray(`ā Registry owner: ${config.github.owner} (${config.github.ownerType === 'personal' ? 'personal account' : 'organization'})`));
|
|
50
|
+
const authResult = (0, jenkins_service_1.validateJenkinsAuthentication)(config.jenkins);
|
|
51
|
+
if (authResult.connectionMode !== config.jenkins.connectionMode) {
|
|
52
|
+
config.jenkins.connectionMode = authResult.connectionMode;
|
|
53
|
+
}
|
|
54
|
+
console.log(chalk_1.default.green(`ā Jenkins authenticated: ${config.jenkins.url}`));
|
|
55
|
+
await (0, jenkins_service_1.assertJenkinsJobExists)(config.jenkins, jenkinsJobName);
|
|
56
|
+
console.log(chalk_1.default.green(`ā Jenkins pipeline/job found: ${jenkinsJobName}\n`));
|
|
57
|
+
console.log(chalk_1.default.blue.bold('š·ļø Step 1: Specify Image Tags\n'));
|
|
58
|
+
const { tags: rawTags } = await inquirer_1.default.prompt([
|
|
59
|
+
{
|
|
60
|
+
type: 'input',
|
|
61
|
+
name: 'tags',
|
|
62
|
+
message: 'Enter image tags (comma-separated for multiple tags):',
|
|
63
|
+
default: env === 'dev' ? 'latest' : '1.0.0',
|
|
64
|
+
validate: (input) => {
|
|
65
|
+
const tags = input
|
|
66
|
+
.split(',')
|
|
67
|
+
.map((tag) => tag.trim())
|
|
68
|
+
.filter(Boolean);
|
|
69
|
+
if (tags.length === 0) {
|
|
70
|
+
return 'At least one tag is required.';
|
|
71
|
+
}
|
|
72
|
+
const invalidTag = tags.find((tag) => !TAG_PATTERN.test(tag));
|
|
73
|
+
return invalidTag ? `Invalid Docker tag: ${invalidTag}` : true;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
]);
|
|
77
|
+
const tags = Array.from(new Set(rawTags
|
|
78
|
+
.split(',')
|
|
79
|
+
.map((tag) => tag.trim())
|
|
80
|
+
.filter(Boolean)));
|
|
81
|
+
const primaryTag = tags[0];
|
|
82
|
+
if (!primaryTag) {
|
|
83
|
+
throw new Error('At least one image tag is required.');
|
|
84
|
+
}
|
|
85
|
+
console.log(chalk_1.default.blue.bold('šØ Step 2: Building Docker Image\n'));
|
|
86
|
+
console.log(chalk_1.default.gray(`Dockerfile: ${dockerfilePath}`));
|
|
87
|
+
console.log(chalk_1.default.gray(`Image: ${imageName}`));
|
|
88
|
+
console.log(chalk_1.default.gray(`Tags: ${tags.join(', ')}\n`));
|
|
89
|
+
(0, docker_service_1.buildDockerImage)(imageName, tags, dockerfilePath);
|
|
90
|
+
console.log(chalk_1.default.green('\nā Docker image built successfully\n'));
|
|
91
|
+
console.log(chalk_1.default.blue.bold('š Step 3: Preparing GHCR Authentication\n'));
|
|
92
|
+
const loggedInWithDetectedCredential = (0, docker_service_1.authenticateGhcr)(githubAuth);
|
|
93
|
+
if (loggedInWithDetectedCredential) {
|
|
94
|
+
console.log(chalk_1.default.green('\nā GHCR login completed using the detected GitHub credential\n'));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
console.log(chalk_1.default.yellow('ā GitHub SSH authentication is valid, but GHCR does not accept SSH keys. Using any GHCR credentials already stored by Docker.'));
|
|
98
|
+
console.log(chalk_1.default.gray(' If the push fails, run `docker login ghcr.io` once and retry.\n'));
|
|
99
|
+
}
|
|
100
|
+
console.log(chalk_1.default.blue.bold('š¤ Step 4: Pushing Image to GHCR\n'));
|
|
101
|
+
for (const tag of tags) {
|
|
102
|
+
const imageWithTag = `${imageName}:${tag}`;
|
|
103
|
+
console.log(chalk_1.default.gray(`Pushing ${imageWithTag}...`));
|
|
104
|
+
(0, docker_service_1.pushDockerImage)(imageWithTag);
|
|
105
|
+
}
|
|
106
|
+
console.log(chalk_1.default.green('\nā Image pushed successfully to GHCR\n'));
|
|
107
|
+
const primaryImage = `${imageName}:${primaryTag}`;
|
|
108
|
+
const digest = (0, docker_service_1.getDockerImageDigest)(primaryImage);
|
|
109
|
+
console.log(chalk_1.default.blue.bold('ā” Step 5: Running Jenkins Pipeline\n'));
|
|
110
|
+
console.log(chalk_1.default.gray(`Jenkins: ${config.jenkins.url}`));
|
|
111
|
+
console.log(chalk_1.default.gray(`Pipeline/job: ${jenkinsJobName}`));
|
|
112
|
+
console.log(chalk_1.default.gray('Live Jenkins console output starts below.\n'));
|
|
113
|
+
await (0, jenkins_service_1.triggerJenkinsDeployment)(config.jenkins, jenkinsJobName);
|
|
114
|
+
console.log(chalk_1.default.green.bold('\nš Build, push, and Jenkins deployment completed successfully!\n'));
|
|
115
|
+
console.log(chalk_1.default.blue('š Summary:'));
|
|
116
|
+
console.log(chalk_1.default.gray(` Environment: ${env}`));
|
|
117
|
+
console.log(chalk_1.default.gray(` Owner: ${config.github.owner} (${config.github.ownerType})`));
|
|
118
|
+
console.log(chalk_1.default.gray(` Image: ${imageName}`));
|
|
119
|
+
console.log(chalk_1.default.gray(` Tags: ${tags.join(', ')}`));
|
|
120
|
+
console.log(chalk_1.default.gray(` Jenkins job: ${jenkinsJobName}`));
|
|
121
|
+
if (digest) {
|
|
122
|
+
console.log(chalk_1.default.gray(` Digest: ${digest}`));
|
|
123
|
+
}
|
|
124
|
+
console.log('');
|
|
125
|
+
};
|
|
126
|
+
exports.build = build;
|
|
127
|
+
//# sourceMappingURL=build.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/build.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/configure.command.ts"],"names":[],"mappings":"AA2iBA,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,IAAI,CAkB9C,CAAC"}
|