@atomist/sdm-core
Version:
Atomist Software Delivery Machine - Implementation
72 lines • 2.27 kB
TypeScript
/// <reference types="node" />
import { RemoteRepoRef, RepoRef } from "@atomist/automation-client";
import { Targeter } from "@atomist/sdm";
import { Deployment, TargetInfo } from "@atomist/sdm/lib/spi/deploy/Deployment";
import { ChildProcess } from "child_process";
/**
* @ModuleExport
* @deprecated
*/
export interface ManagedDeploymentTargetInfo extends TargetInfo {
managedDeploymentKey: RemoteRepoRef;
}
/**f
* @ModuleExport
* @deprecated
*/
export declare const ManagedDeploymentTargeter: Targeter<ManagedDeploymentTargetInfo>;
/**
* Strategy for looking up a service
* @ModuleExport
* @deprecated
*/
export declare enum LookupStrategy {
service = "service",
branch = "branch",
sha = "sha"
}
/**
* Ports will be reused for the same app
* @ModuleExport
* @deprecated
*/
export interface DeployedApp {
id: RepoRef;
port: number;
/** Will be undefined if the app is not currently deployed */
childProcess: ChildProcess;
deployment: Deployment;
lookupStrategy: LookupStrategy;
}
/**
* Manages local deployments to the automation server node
* This is not intended for production use
* @type {Array}
* @ModuleExport
* @deprecated
*/
export declare class ManagedDeployments {
initialPort: number;
readonly deployments: DeployedApp[];
constructor(initialPort: number);
/**
* Find the appropriate port for this app
* @param {RemoteRepoRef} id
* @param lookupStrategy strategy for looking up the instance
* @param host it will be on. Check for ports not in use
* @return {number}
*/
findPort(id: RemoteRepoRef, lookupStrategy: LookupStrategy, host: string): Promise<number>;
recordDeployment(da: DeployedApp): void;
findDeployment(id: RemoteRepoRef, lookupStrategy: LookupStrategy): DeployedApp;
/**
* Terminate any process we're managing on behalf of this id
* @param {RemoteRepoRef} id
* @param lookupStrategy strategy for finding the instance
* @return {Promise<any>}
*/
terminateIfRunning(id: RemoteRepoRef, lookupStrategy: LookupStrategy): Promise<any>;
private nextFreePort;
}
export declare function portIsInUse(host: string, port: number): Promise<boolean>;
//# sourceMappingURL=ManagedDeployments.d.ts.map