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