全部产品
云市场

快速开始

更新时间:2019-09-18 19:08:13

xDeploy 脚本框架用于实现自定义技术栈的发布部署脚本,您可以实现框架中的各个接口来定制您的技术栈部署过程。xDeploy 有专门的 SDK 工具来简化 xDeploy 的使用。

前置条件

  • 具备 Python 基本技能
  • 环境要求:
    • 操作系统:Mac、Linux(Windows 适配版目前暂不支持)
    • 运行时环境:Python 2.6 及以上版本

下载并安装 xDeploy SDK

  1. 创建自定义技术栈时,在技术栈实例详情页面上点击 部署脚本 标签,进入 xDeploy SDK 下载入口。

  2. 点击 下载 SDK 按钮。

  3. 在弹出的 下载发布部署脚本 SDK 对话框里,根据提示复制安装命令。

  4. 打开命令行工具,在命令行中粘贴安装命令,并按回车键执行。

  5. 安装过程中系统会提示您输入安装路径(默认为 home 目录,如下图所示)。建议直接按回车键使用默认目录,完成 SDK 安装。

  6. 验证安装是否成功:重启命令行工具,输入 xd

    如果出现下图所示内容,说明安装成功;否则,请联系技术支持人员进行解决。

    证明成功安装了 xDeploy SDK

使用 xDeploy SDK

创建自定义技术栈

在命令行工具中运行 xd -c name 创建一个自定义技术栈。

通过命令行工具创建自定义技术栈

创建好的技术栈目录结构如下图所示:

自定义技术栈目录结构

其中:

  • buildpack.confmybuildpack_steps.py 是自定义技术栈的核心文件。其中,buildpack.conf 为自定义技术栈的配置文件,配置内容已经根据创建时技术栈的命名而更改好了,无需改变;mybuildpack_steps.py 文件是自定义技术栈的接口实现文件,文件名和文件中的类名也是根据技术栈名称命名生成的,无需改变。您只需要实现其中定义的接口即可。
  • test-app 目录存放测试时使用的应用包。
  • test-conf/test-config.properties 是测试时的配置内容,详见 测试
  • test-conf/software.yaml 是测试时所需安装软件的配置,详见 测试

编写自定义部署脚本

进入 lib/custom 目录下,编辑技术栈接口实现文件,即上图中的 mybuildpack_steps.py。实现的文件如下:

展示接口

上图展示了默认自定义技术栈的实现,只是做了各个接口调用的打印,并没有实质逻辑。接口说明和调用顺序,详见 xDeploy 框架的详细说明

测试

完成接口实现后,即可进行测试。特别注意,测试目前只支持在 CentOS6 系统中运行,并且需要切换到 admin 用户执行。

  1. 运行命令:xd -t

    说明:此命令只能在技术栈顶层目录执行。

  2. 直接输入命令进行测试,会出现如下图所示的内容,提示输入要部署的应用包的位置(默认应用包的放置路径为 ./test/test-app/)。

    测试接口_失败

  3. 上图提示 test-app 目录下并没有 test.tgz,您需要把一个空的 test.tgz 文件放置到所要求的目录下,运行命令。如果屏幕显示如下信息表示测试成功。

    测试接口 _ 成功

如上图只是进行了简单的框架测试,没有添加软件,也没有设置测试时添加的参数,下面加入软件配置和参数设置。

  • 添加软件配置

打开 ./test/test-conf/software.yaml 文件,会看到如下图所示的内容。

软件配置 _ software.yaml 文件内容

此文件内容为 YAML 格式。

  • http 表示使用 URL 来下载的 RPM 文件;name 表示文件名;url 是文件的 HTTP 地址。
  • yum 表示可用 yum 源安装的软件;name 表示软件名称;version 表示软件版本。
  • inner 表示金融科技平台提供的 RPM 文件;name 表示文件名称(内部文件列表,可运行 xd -l software 命令查看,如下图所示)。

软件配置 _  rpm 文件表列表

您将使用 JDK 1.6 和 Apache 两个软件,配置如下图所示。

软件配置 _ 配置 software.yaml 文件

  • 添加测试参数

部署过程中可以添加一些参数,在实现的接口中接收这些参数来实现功能。

运行命令:xd -t -P key1=value1 -P key2=value2

-P 后跟 key=value 的参数,可以有多个。

脚本中的接收形式如下:

添加测试参数 _ 参数接收

如上图所示,使用 context.params_dict 可以得到传入的参数。

执行命令结果如下:

添加测试参数 _ 执行命令结果

打包

测试完成后即可对脚本进行打包,并通过页面上传脚本。

  1. 执行命令:xd -p

    打包命令

  2. 在执行命令的过程中输入脚本包名称。您可以直接按回车键使用默认脚本包名称。如上图最后一行,打包完成后会提示在相应目录下找到脚本包。

  3. 打包完成后,将脚本包上传至金融科技平台,详见 部署脚本

更新 xDeploy SDK

如果 xDeploy SDK 有更新,您可以通过执行 xd –u 命令来更新本地的 xDeploy SDK 版本。

更新 xDeploy  SDK 版本

帮助

您可以运行 xd -h 命令显示 xd 相关命令提示。