本文整理汇总了TypeScript中docker-common/containerconnection.execCommand函数的典型用法代码示例。如果您正苦于以下问题:TypeScript execCommand函数的具体用法?TypeScript execCommand怎么用?TypeScript execCommand使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了execCommand函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: dockerPush
function dockerPush(connection: ContainerConnection, image: string, imageDigestFile?: string, useMultiImageMode?: boolean): any {
var command = connection.createCommand();
command.arg("push");
command.arg(image);
if (!imageDigestFile) {
return connection.execCommand(command);
}
var output = "";
command.on("stdout", data => {
output += data;
});
return connection.execCommand(command).then(() => {
// Parse the output to find the repository digest
var imageDigest = output.match(/^[^:]*: digest: ([^ ]*) size: \d*$/m)[1];
if (imageDigest) {
let baseImageName = imageUtils.imageNameWithoutTag(image);
let formattedDigestValue = baseImageName + "@" + imageDigest;
if (useMultiImageMode) {
// If we're pushing multiple images, we need to append all the digest values. Each one is contained on its own line.
fs.appendFileSync(imageDigestFile, formattedDigestValue + "\r\n");
} else {
fs.writeFileSync(imageDigestFile, formattedDigestValue);
}
}
});
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:29,代码来源:containerpush.ts
示例2: run
export function run(connection: ContainerConnection, outputUpdate: (data: string) => any): any {
var command = connection.createCommand();
command.on("stdout", output => {
outputUpdate(output);
});
command.line(tl.getInput("customCommand", true));
return connection.execCommand(command);
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:8,代码来源:containercommand.ts
示例3: run
export function run(connection: ContainerConnection): any {
var command = connection.createCommand();
command.arg("build");
var dockerfilepath = tl.getInput("dockerFile", true);
let dockerFile = fileUtils.findDockerFile(dockerfilepath);
if(!tl.exist(dockerFile)) {
throw new Error(tl.loc('ContainerDockerFileNotFound', dockerfilepath));
}
command.arg(["-f", dockerFile]);
var addDefaultLabels = tl.getBoolInput("addDefaultLabels");
if (addDefaultLabels) {
pipelineUtils.addDefaultLabelArgs(command);
}
var commandArguments = tl.getInput("arguments", false);
command.line(commandArguments);
var imageName = utils.getImageName();
var qualifyImageName = tl.getBoolInput("qualifyImageName");
if (qualifyImageName) {
imageName = connection.getQualifiedImageNameIfRequired(imageName);
}
command.arg(["-t", tl.getBoolInput("enforceDockerNamingConvention") ? imageUtils.generateValidImageName(imageName) : imageName]);
var baseImageName = imageUtils.imageNameWithoutTag(imageName);
var includeSourceTags = tl.getBoolInput("includeSourceTags");
if (includeSourceTags) {
sourceUtils.getSourceTags().forEach(tag => {
command.arg(["-t", baseImageName + ":" + tag]);
});
}
var includeLatestTag = tl.getBoolInput("includeLatestTag");
if (baseImageName !== imageName && includeLatestTag) {
command.arg(["-t", baseImageName]);
}
var memoryLimit = tl.getInput("memoryLimit");
if (memoryLimit) {
command.arg(["-m", memoryLimit]);
}
var context: string;
var useDefaultContext = tl.getBoolInput("useDefaultContext");
if (useDefaultContext) {
context = path.dirname(dockerFile);
} else {
context = tl.getPathInput("buildContext");
}
command.arg(context);
return connection.execCommand(command);
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:57,代码来源:containerbuild.ts
示例4: dockerTag
function dockerTag(connection: ContainerConnection, sourceImage: string, targetImage: string): Q.Promise<void> {
let command = connection.createCommand();
command.arg("tag");
command.arg(sourceImage);
command.arg(targetImage);
tl.debug(`Tagging image ${sourceImage} with ${targetImage}.`);
return connection.execCommand(command);
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:9,代码来源:containertag.ts
示例5: run
export function run(connection: ContainerConnection): any {
var command = connection.createCommand();
command.arg("build");
var dockerfilepath = tl.getInput("dockerFile", true);
var dockerFile = findDockerFile(dockerfilepath);
if(!tl.exist(dockerFile)) {
throw new Error(tl.loc('ContainerDockerFileNotFound', dockerfilepath));
}
command.arg(["-f", dockerFile]);
tl.getDelimitedInput("buildArguments", "\n").forEach(buildArgument => {
command.arg(["--build-arg", buildArgument]);
});
var imageName = utils.getImageName();
var qualifyImageName = tl.getBoolInput("qualifyImageName");
if (qualifyImageName) {
imageName = connection.qualifyImageName(imageName);
}
command.arg(["-t", imageName]);
var baseImageName = imageUtils.imageNameWithoutTag(imageName);
tl.getDelimitedInput("additionalImageTags", "\n").forEach(tag => {
command.arg(["-t", baseImageName + ":" + tag]);
});
var includeSourceTags = tl.getBoolInput("includeSourceTags");
if (includeSourceTags) {
sourceUtils.getSourceTags().forEach(tag => {
command.arg(["-t", baseImageName + ":" + tag]);
});
}
var includeLatestTag = tl.getBoolInput("includeLatestTag");
if (baseImageName !== imageName && includeLatestTag) {
command.arg(["-t", baseImageName]);
}
var memory = tl.getInput("memory");
if (memory) {
command.arg(["-m", memory]);
}
var context: string;
var defaultContext = tl.getBoolInput("defaultContext");
if (defaultContext) {
context = path.dirname(dockerFile);
} else {
context = tl.getPathInput("context");
}
command.arg(context);
return connection.execCommand(command);
}
开发者ID:bleissem,项目名称:vsts-tasks,代码行数:57,代码来源:containerbuild.ts
示例6: run
export function run(connection: ContainerConnection): any {
var command = connection.createCommand();
command.arg("run");
var detached = tl.getBoolInput("detached");
if (detached) {
command.arg("-d");
}
var entrypoint = tl.getInput("entrypoint");
if (entrypoint) {
command.arg(["--entrypoint", entrypoint]);
}
tl.getDelimitedInput("envVars", "\n").forEach(envVar => {
command.arg(["-e", envVar]);
});
var containerName = tl.getInput("containerName");
if (containerName) {
command.arg(["--name", containerName]);
}
tl.getDelimitedInput("ports", "\n").forEach(port => {
command.arg(["-p", port]);
});
if (!detached) {
command.arg("--rm");
} else {
var restartPolicy = {
no: "no",
onFailure: "on-failure",
always: "always",
unlessStopped: "unless-stopped"
}[tl.getInput("restartPolicy")];
if (restartPolicy) {
if (restartPolicy === "on-failure") {
var restartMaxRetries = tl.getInput("restartMaxRetries");
if (restartMaxRetries) {
var restartMaxRetriesNum = parseInt(restartMaxRetries, 10);
if (isNaN(restartMaxRetriesNum)) {
throw new Error("Maximum Restart Retries is not a number.");
}
restartPolicy += ":" + restartMaxRetriesNum;
}
}
command.arg(["--restart", restartPolicy]);
}
}
tl.getDelimitedInput("volumes", "\n").forEach(volume => {
command.arg(["-v", volume]);
});
var workDir = tl.getInput("workDir");
if (workDir) {
command.arg(["-w", workDir]);
}
var memory = tl.getInput("memory");
if (memory) {
command.arg(["-m", memory]);
}
var imageName = utils.getImageName();
var qualifyImageName = tl.getBoolInput("qualifyImageName");
if (qualifyImageName) {
imageName = connection.getQualifiedImageNameIfRequired(imageName);
}
command.arg(imageName);
var containerCommand = tl.getInput("containerCommand");
if (containerCommand) {
command.line(containerCommand);
}
return connection.execCommand(command);
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:79,代码来源:containerrun.ts
示例7: run
export function run(connection: ContainerConnection): any {
var command = connection.createCommand();
command.line(tl.getInput("customCommand", true));
return connection.execCommand(command);
}
开发者ID:bleissem,项目名称:vsts-tasks,代码行数:5,代码来源:containercommand.ts
示例8: run
export function run(connection: ContainerConnection): any {
var command = connection.createCommand();
command.arg("build");
var dockerfilepath = tl.getInput("dockerFile", true);
var dockerFile = findDockerFile(dockerfilepath);
if(!tl.exist(dockerFile)) {
throw new Error(tl.loc('ContainerDockerFileNotFound', dockerfilepath));
}
command.arg(["-f", dockerFile]);
var addDefaultLabels = tl.getBoolInput("addDefaultLabels");
if (addDefaultLabels) {
var hostName = getReverseDNSName();
if (hostName) {
addCommonLabels(command, hostName);
var hostType = tl.getVariable("SYSTEM_HOSTTYPE");
if (hostType.toLowerCase() === "build") {
addBuildLabels(command, hostName);
}
else {
addReleaseLabels(command, hostName);
}
}
}
var commandArguments = tl.getInput("arguments", false);
command.line(commandArguments);
var imageName = utils.getImageName();
var qualifyImageName = tl.getBoolInput("qualifyImageName");
if (qualifyImageName) {
imageName = connection.qualifyImageName(imageName);
}
command.arg(["-t", imageName]);
var baseImageName = imageUtils.imageNameWithoutTag(imageName);
var includeSourceTags = tl.getBoolInput("includeSourceTags");
if (includeSourceTags) {
sourceUtils.getSourceTags().forEach(tag => {
command.arg(["-t", baseImageName + ":" + tag]);
});
}
var includeLatestTag = tl.getBoolInput("includeLatestTag");
if (baseImageName !== imageName && includeLatestTag) {
command.arg(["-t", baseImageName]);
}
var memoryLimit = tl.getInput("memoryLimit");
if (memoryLimit) {
command.arg(["-m", memoryLimit]);
}
var context: string;
var useDefaultContext = tl.getBoolInput("useDefaultContext");
if (useDefaultContext) {
context = path.dirname(dockerFile);
} else {
context = tl.getPathInput("buildContext");
}
command.arg(context);
return connection.execCommand(command);
}
开发者ID:grawcho,项目名称:vso-agent-tasks,代码行数:67,代码来源:containerbuild.ts
注:本文中的docker-common/containerconnection.execCommand函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论