@atomist/sdm-pack-spring
Version:
Atomist software delivery machine extension pack for Spring and Spring Boot applications
68 lines (67 loc) • 2.94 kB
TypeScript
import { CommandHandlerRegistration, ExecuteGoal, FulfillableGoalDetails, FulfillableGoalWithRegistrations, GoalWithPrecondition, ImplementationRegistration } from "@atomist/sdm";
export declare const ListGradleBranchDeploys: CommandHandlerRegistration;
/**
* Goal to deploy to Gradle with one process per branch
* @type {GenericGoal}
*/
export declare const GradlePerBranchSpringBootDeploymentGoal: GoalWithPrecondition;
export interface GradleDeployerOptions {
lowerPort: number;
baseUrl: string;
/**
* Pattern to find in output to indicate that the server has come up successfully.
* For example, matching something like "Started SpringRestSeedApplication in 3.931 seconds"
*/
successPatterns: RegExp[];
/**
* Command line arguments for the startup process
*/
commandLineArgumentsFor: (port: number, contextRoot: string) => string[];
/**
* The maximum number of concurrent deployments we allow. This is a valuable
* safeguard as too many can crash the machine.
*/
maxConcurrentDeployments: number;
}
/**
* Use Maven per-branch deploy
* @param projectLoader use to load projects
* @param opts options
*/
export declare function executeGradlePerBranchSpringBootDeploy(opts: Partial<GradleDeployerOptions>): ExecuteGoal;
/**
* Generate the command line arguments for running your application using Gradle
* @param {number} port The port on which the application will be running
* @param {string} contextRoot The context root to be used for deploying your application
* @returns {string[]} The command line arguments
*/
export declare function springBootGradleArgs(port: number, contextRoot: string): string[];
/**
* Configuration parameters for Gradle per-branch deployment
*/
export interface GradlePerBranchDeploymentRegistration extends Partial<ImplementationRegistration> {
lowerPort: number;
baseUrl?: string;
/**
* Pattern to find in output to indicate that the server has come up successfully.
* For example, matching something like "Started SpringRestSeedApplication in 3.931 seconds"
*/
successPatterns: RegExp[];
/**
* Command line arguments for the startup process
*/
commandLineArgumentsFor?: (port: number, contextRoot: string) => string[];
/**
* The maximum number of concurrent deployments we allow. This is a valuable
* safeguard as too many can crash the machine.
*/
maxConcurrentDeployments?: number;
}
/**
* Goal to deploy your application using Gradle. This will perform a deployment per branch.
*/
export declare class GradlePerBranchDeployment extends FulfillableGoalWithRegistrations<GradlePerBranchDeploymentRegistration> {
protected readonly goalDetailsOrUniqueName: FulfillableGoalDetails | string;
constructor(goalDetailsOrUniqueName?: FulfillableGoalDetails | string);
with(registration: GradlePerBranchDeploymentRegistration): this;
}