跳到主要内容

deploy

简介

为项目部署提供相关操作提供接口功能

组件接口

deploy.gs

函数原型函数作用
void main(function func)执行入口函数
bool quick_pack(Properties properties)通过配置快速打包
bool check_env(string package_json = nil)快速检查
bool deploy(string image_file, string host, string account = nil, string password = nil)部署
bool download_driver(string driver_version, string to_path, string param_p = "-p win32,redhat")快速下载driver
bool upload_driver(string driver_file, string driver_version, string host, string account = nil, string password = nil)快速上传driver
bool pack(mixed pack_list)快速打包
bool locate_command(string cmd)判断指定命令是否存在
bool run(string cmd_line)执行shell命令
string run_retrieve_stdout(string cmd_line)执行shell命令,并返回标准输出
void run_all(array cmd_lines, function func = nil)执行一组shell命令
void run_all_util_fail(array cmd_lines, function func = nil)执行所有的命令行直到其中一个失败
void wait_enter_key(string fmt, ...)提示并且等待用户按下回车键
mixed invoke_in_path(string path, function func)将当前工作路径设置到指定路径下,执行函数后还原工作路径
string git_branch()git:获取当前分支名称
string git_commit_id()git:获取当前commit id
bool git_lfs_require()git:判断是否安装lfs
string gip_version()gip:获取版本号
bool gip_require(string require_version)gip:判断gip版本是否满足要求
bool check_gip_version(string version, string require_version)gip:检查gip版本号是否符合要求
bool gip_install(string path, string extra_arg = nil)gip: 安装pkg
bool gip_update(string path, string extra_arg = nil)gip: 更新pkg
bool gip_driver(string path, string extra_arg = nil)gip: 下载driver
bool check_gs_version(string version, string require_version)gs:检查gs版本号是否符合要求
void drop_path(mixed pattern_or_arr)删除满足条件的路径以及其下的所有文件
void output_success(string fmt, ...)输出成功信息
void output_failure(string fmt, ...)输出失败信息
void output_prompt(string fmt, ...)输出提示信息
bool sync_pkgs(string package_json_file)同步所有pkg
bool update_pkgs(string package_json_file)更新所有pkg
bool sync_submodules(bool force_reset = false)git: 同步子模块

FDeploy.gs

部署相关操作的基础组件

函数原型函数作用
ProjectProperties get_properties()获取所有项目属性
void set_property(string key, mixed value)设置项目属性
mixed get_property(string key)获取项目属性
void gen_zip_start_scripts(string output_path)生成一组zip启动脚本(.bat/.sh/not_docker.sh/not_docker.bat)
void gen_partial_container_conf(string output_path)仅生成本镜像的容器配置
void gen_start_all_scripts(string output_path)生成非docker启动的一键启动脚本
void gen_container_conf(string output_path)收集并且合并所有镜像的配置生成容器配置

样例

public void pkg_sample()
{
deploy.main(() {
// 先看看有没有git
if (! locate_command("git"))
{
output_failure("missing git");
return -100;
}

// 再看看有没有gip
if (! locate_command("gip"))
{
output_failure("missing gip");
return -101;
}

// gip版本检查
if (! gip_require("1.8"))
{
output_failure("gip version is too old");
return -102;
}

// 处理成功返回0
return 0;
});
}