local-docker provider use docker with commands
parent
307bea209b
commit
8031bac31f
|
|
@ -3554,12 +3554,22 @@ exports["default"] = KubernetesTaskRunner;
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
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());
|
||||||
|
});
|
||||||
|
};
|
||||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
const cloud_runner_system_1 = __nccwpck_require__(99393);
|
|
||||||
const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
|
const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
|
||||||
|
const docker_1 = __importDefault(__nccwpck_require__(16934));
|
||||||
|
const model_1 = __nccwpck_require__(41359);
|
||||||
class LocalDockerCloudRunner {
|
class LocalDockerCloudRunner {
|
||||||
inspect() {
|
inspect() {
|
||||||
throw new Error('Method not implemented.');
|
throw new Error('Method not implemented.');
|
||||||
|
|
@ -3604,13 +3614,13 @@ class LocalDockerCloudRunner {
|
||||||
environment,
|
environment,
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
secrets) {
|
secrets) {
|
||||||
cloud_runner_logger_1.default.log(buildGuid);
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
cloud_runner_logger_1.default.log(commands);
|
cloud_runner_logger_1.default.log(buildGuid);
|
||||||
return cloud_runner_system_1.CloudRunnerSystem.Run(`docker run \
|
cloud_runner_logger_1.default.log(commands);
|
||||||
--workdir /github/workspace \
|
const { workspace, actionFolder } = model_1.Action;
|
||||||
--rm \
|
yield docker_1.default.run(image, Object.assign({ workspace, actionFolder }, model_1.CloudRunner.buildParameters), false, commands);
|
||||||
${image} \
|
return '';
|
||||||
/bin/bash -c ${commands}`, false, false);
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports["default"] = LocalDockerCloudRunner;
|
exports["default"] = LocalDockerCloudRunner;
|
||||||
|
|
@ -5032,12 +5042,12 @@ const image_environment_factory_1 = __importDefault(__nccwpck_require__(25145));
|
||||||
const fs_1 = __nccwpck_require__(57147);
|
const fs_1 = __nccwpck_require__(57147);
|
||||||
const path_1 = __importDefault(__nccwpck_require__(71017));
|
const path_1 = __importDefault(__nccwpck_require__(71017));
|
||||||
class Docker {
|
class Docker {
|
||||||
static run(image, parameters, silent = false) {
|
static run(image, parameters, silent = false, overrideCommands = '') {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
let runCommand = '';
|
let runCommand = '';
|
||||||
switch (process.platform) {
|
switch (process.platform) {
|
||||||
case 'linux':
|
case 'linux':
|
||||||
runCommand = this.getLinuxCommand(image, parameters);
|
runCommand = this.getLinuxCommand(image, parameters, overrideCommands);
|
||||||
break;
|
break;
|
||||||
case 'win32':
|
case 'win32':
|
||||||
runCommand = this.getWindowsCommand(image, parameters);
|
runCommand = this.getWindowsCommand(image, parameters);
|
||||||
|
|
@ -5045,7 +5055,7 @@ class Docker {
|
||||||
yield exec_1.exec(runCommand, undefined, { silent });
|
yield exec_1.exec(runCommand, undefined, { silent });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
static getLinuxCommand(image, parameters) {
|
static getLinuxCommand(image, parameters, overrideCommands = '') {
|
||||||
const { workspace, actionFolder, runnerTempPath, sshAgent, gitPrivateToken } = parameters;
|
const { workspace, actionFolder, runnerTempPath, sshAgent, gitPrivateToken } = parameters;
|
||||||
const githubHome = path_1.default.join(runnerTempPath, '_github_home');
|
const githubHome = path_1.default.join(runnerTempPath, '_github_home');
|
||||||
if (!fs_1.existsSync(githubHome))
|
if (!fs_1.existsSync(githubHome))
|
||||||
|
|
@ -5070,7 +5080,7 @@ class Docker {
|
||||||
${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \
|
${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \
|
||||||
${sshAgent ? '--volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro' : ''} \
|
${sshAgent ? '--volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro' : ''} \
|
||||||
${image} \
|
${image} \
|
||||||
/bin/bash -c /entrypoint.sh`;
|
/bin/bash -c ${overrideCommands !== '' ? overrideCommands : `/entrypoint.sh`}`;
|
||||||
}
|
}
|
||||||
static getWindowsCommand(image, parameters) {
|
static getWindowsCommand(image, parameters) {
|
||||||
const { workspace, actionFolder, unitySerial, gitPrivateToken } = parameters;
|
const { workspace, actionFolder, unitySerial, gitPrivateToken } = parameters;
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,9 +1,10 @@
|
||||||
import BuildParameters from '../../../build-parameters';
|
import BuildParameters from '../../../build-parameters';
|
||||||
import { CloudRunnerSystem } from '../../services/cloud-runner-system';
|
|
||||||
import CloudRunnerEnvironmentVariable from '../../services/cloud-runner-environment-variable';
|
import CloudRunnerEnvironmentVariable from '../../services/cloud-runner-environment-variable';
|
||||||
import CloudRunnerLogger from '../../services/cloud-runner-logger';
|
import CloudRunnerLogger from '../../services/cloud-runner-logger';
|
||||||
import { ProviderInterface } from '../provider-interface';
|
import { ProviderInterface } from '../provider-interface';
|
||||||
import CloudRunnerSecret from '../../services/cloud-runner-secret';
|
import CloudRunnerSecret from '../../services/cloud-runner-secret';
|
||||||
|
import Docker from '../../../docker';
|
||||||
|
import { Action, CloudRunner } from '../../../../model';
|
||||||
|
|
||||||
class LocalDockerCloudRunner implements ProviderInterface {
|
class LocalDockerCloudRunner implements ProviderInterface {
|
||||||
inspect(): Promise<string> {
|
inspect(): Promise<string> {
|
||||||
|
|
@ -43,7 +44,7 @@ class LocalDockerCloudRunner implements ProviderInterface {
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
defaultSecretsArray: { ParameterKey: string; EnvironmentVariable: string; ParameterValue: string }[],
|
defaultSecretsArray: { ParameterKey: string; EnvironmentVariable: string; ParameterValue: string }[],
|
||||||
) {}
|
) {}
|
||||||
public runTask(
|
public async runTask(
|
||||||
buildGuid: string,
|
buildGuid: string,
|
||||||
image: string,
|
image: string,
|
||||||
commands: string,
|
commands: string,
|
||||||
|
|
@ -59,15 +60,10 @@ class LocalDockerCloudRunner implements ProviderInterface {
|
||||||
CloudRunnerLogger.log(buildGuid);
|
CloudRunnerLogger.log(buildGuid);
|
||||||
CloudRunnerLogger.log(commands);
|
CloudRunnerLogger.log(commands);
|
||||||
|
|
||||||
return CloudRunnerSystem.Run(
|
const { workspace, actionFolder } = Action;
|
||||||
`docker run \
|
await Docker.run(image, { workspace, actionFolder, ...CloudRunner.buildParameters }, false, commands);
|
||||||
--workdir /github/workspace \
|
|
||||||
--rm \
|
return '';
|
||||||
${image} \
|
|
||||||
/bin/bash -c ${commands}`,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default LocalDockerCloudRunner;
|
export default LocalDockerCloudRunner;
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,11 @@ import { existsSync, mkdirSync } from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
|
||||||
class Docker {
|
class Docker {
|
||||||
static async run(image, parameters, silent = false) {
|
static async run(image, parameters, silent = false, overrideCommands = '') {
|
||||||
let runCommand = '';
|
let runCommand = '';
|
||||||
switch (process.platform) {
|
switch (process.platform) {
|
||||||
case 'linux':
|
case 'linux':
|
||||||
runCommand = this.getLinuxCommand(image, parameters);
|
runCommand = this.getLinuxCommand(image, parameters, overrideCommands);
|
||||||
break;
|
break;
|
||||||
case 'win32':
|
case 'win32':
|
||||||
runCommand = this.getWindowsCommand(image, parameters);
|
runCommand = this.getWindowsCommand(image, parameters);
|
||||||
|
|
@ -16,7 +16,7 @@ class Docker {
|
||||||
await exec(runCommand, undefined, { silent });
|
await exec(runCommand, undefined, { silent });
|
||||||
}
|
}
|
||||||
|
|
||||||
static getLinuxCommand(image, parameters): string {
|
static getLinuxCommand(image, parameters, overrideCommands = ''): string {
|
||||||
const { workspace, actionFolder, runnerTempPath, sshAgent, gitPrivateToken } = parameters;
|
const { workspace, actionFolder, runnerTempPath, sshAgent, gitPrivateToken } = parameters;
|
||||||
|
|
||||||
const githubHome = path.join(runnerTempPath, '_github_home');
|
const githubHome = path.join(runnerTempPath, '_github_home');
|
||||||
|
|
@ -41,7 +41,7 @@ class Docker {
|
||||||
${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \
|
${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \
|
||||||
${sshAgent ? '--volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro' : ''} \
|
${sshAgent ? '--volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro' : ''} \
|
||||||
${image} \
|
${image} \
|
||||||
/bin/bash -c /entrypoint.sh`;
|
/bin/bash -c ${overrideCommands !== '' ? overrideCommands : `/entrypoint.sh`}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
static getWindowsCommand(image: any, parameters: any): string {
|
static getWindowsCommand(image: any, parameters: any): string {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue