long-git-cli
Version:
A CLI tool for Git tag management.
55 lines • 1.63 kB
TypeScript
/**
* Jenkins 部署器
* 用于触发 Jenkins 构建并监听构建状态
*/
import { JenkinsClient } from "../api/jenkins-client";
import { JenkinsBuildInfo } from "../types";
/**
* 部署选项
*/
export interface DeployOptions {
/** 轮询间隔(毫秒),默认 10 秒 */
pollInterval?: number;
/** 超时时间(毫秒),默认 30 分钟 */
timeout?: number;
/** 进度回调 */
onProgress?: (build: JenkinsBuildInfo) => void;
}
/**
* Jenkins 部署器类
*/
export declare class JenkinsDeployer {
private jenkinsClient;
constructor(jenkinsClient: JenkinsClient);
/**
* 触发部署并等待完成
* @param jobName Jenkins Job 名称
* @param parameters 构建参数
* @param options 部署选项
* @returns 最终的构建信息
*/
deploy(jobName: string, parameters: Record<string, string>, options?: DeployOptions): Promise<JenkinsBuildInfo>;
/**
* 触发部署(不等待完成)
* @param jobName Jenkins Job 名称
* @param parameters 构建参数
* @returns 队列项 URL
*/
triggerDeploy(jobName: string, parameters: Record<string, string>): Promise<string>;
/**
* 获取构建状态
* @param jobName Jenkins Job 名称
* @param buildNumber 构建编号
* @returns 构建信息
*/
getBuildStatus(jobName: string, buildNumber: number): Promise<JenkinsBuildInfo>;
/**
* 获取已用时间(格式化)
*/
private getElapsedTime;
/**
* 睡眠指定毫秒数
*/
private sleep;
}
//# sourceMappingURL=jenkins-deployer.d.ts.map