# 新建算法

Git算法项目支持新建的算法类型有两种:

# 新建Git仓库算法项目

  1. 登录Octopus控制台,单击“仿真服务”>“仿真算法”>“新建算法”

  2. 填写算法基本信息

    请根据项目实际情况自定义填写,其中带“*”为必填项。

    • 算法类型:选择“Git仓库”;
    • 算法名称:包含中英文、数字、“_”“-”,不得超过64个字符;
    • 算法描述:不得包含“@#¥%……&*<>\”特殊字符,不得超过255个字符;
  3. 配置Git仓库信息

    • Git地址:配置您的算法项目的Git仓库地址,Octopus平台将从该地址克隆(clone)您的算法项目,当前仅支持SSH方式克隆项目,不支持HTTPS方式。以GitLab平台为例,可以参考格式如下:

      ssh://git@gitlab.com:项目名称/xxx/xxx.git     //GitLab项目地址格式示例,在您Git项目的“clone”选项下可以直接复制项目地址
      
    • Git分支:配置您的算法项目分支。例如一般项目主版本是master,请按项目实际情况填写;

    • 挂载目录:算法编译和运行的当前目录,缺省值“/srv/code”。

  4. 配置编译环境

    配置编译镜像,以及编译命令、工作目录、产物列表等基本信息,镜像中需包含编译该算法所需的所有环境条件。

    表 1 编译配置参数说明

    参数(带*为必填项)

    说明

    编译镜像*

    镜像中包含算法编译所需的所有环境条件,Octopus平台将拉取指定镜像。

    • 您可以直接填写镜像名称,默认从“Docker Hub”顶层命名空间拉取官方镜像。例如,编译需要3.8版本的python镜像,则可以填写“python:3.8”;
    • 您也可以填写完整的镜像地址。例如,若您编译所需的镜像存储在SWR服务,则可以填写具体地址,直接填写:“swr.cn-north-1.myhuaweicloud.com/self/project-1-compile:1.0”;
      SWR服务镜像上传和获取方法请参见“如何使用SWR服务管理镜像”。
      注意:

      此处需填写公开镜像地址,即在网络可达的情况下,任何人可以无鉴权访问。

    编译命令*

    编译算法所需命令。例如,linux下通常使用“make”运行Makefile编译脚本;

    挂载目录

    若算法需要在特定目录下进行编译,请填写编译目录的相对路径(相对工作目录)。

    缺省值“.”,即当前目录,也是工作目录。

    编译目录

    算法编译和运行的当前目录,缺省值“/srv/code”。默认与Git仓库的工作目录一致。

    产物列表*

    编译产物及其所在目录的相对路径(相对工作目录),可以是文件或文件夹,将导入到运行镜像中,运行并合成包含算法的镜像。每个算法项目最多添加5个产物。

    说明: 编译产物,在Octopus仿真系统中简称产物,指的是项目编译后生成的可执行文件、静态或动态链接库,及其开发、编译、运行时所依赖的其他文件,所打包而成的“tar.gz”文件。在系统使用时,会把它解压到镜像的指定目录下。

  5. 配置运行环境

    表 2 运行配置参数说明

    参数(带*为必填项)

    说明

    运行镜像*

    镜像中包含算法编译所需的所有环境条件,Octopus平台将拉取指定镜像。

    • 您可以直接填写镜像名称,默认从“Docker Hub”顶层命名空间拉取官方镜像。例如,编译需要3.8版本的python镜像,则可以填写“python:3.8”;
    • 您也可以填写完整的镜像地址。例如,若您编译所需的镜像存储在SWR服务,则可以填写具体地址,直接填写:“swr.cn-north-1.myhuaweicloud.com/self/project-1-compile:1.0”。
      SWR服务镜像上传和获取方法请参见“如何使用SWR服务管理镜像”。
      注意:

      此处需填写公开镜像地址,即在网络可达的情况下,任何人可以无鉴权访问。

    运行命令*

    运行算法所需命令,一般为算法编译后产生的可执行文件,也支持手动上传。例如,若编译生成的产物为可执行文件“test.sh”,则执行“test.sh”命令启动运行脚本。

    挂载目录

    算法编译和运行的当前目录,缺省值“/srv/code”。默认与Git仓库的工作目录一致。

    运行目录

    若算法需要在特定目录下运行,请填写运行目录的相对路径(相对工作目录,运行和编译的工作目录一致)。

    缺省值“.”,即当前目录,也是工作目录。

  6. 以上信息填写完成后,单击“创建”新建算法项目;

  7. 检查镜像状态

    算法项目新建后,在“Git算法项目”列表可以查看到新建的算法项目,单击指定“算法名称”,可以查看算法项目的基本信息和配置详情。如下图红框所示,为编译镜像和运行镜像的拉取状态。

    • 若镜像地址有效,状态为“镜像正常”;
    • 若镜像地址无效,状态为“拉取失败”;

    若镜像拉取失败,请检查镜像名称或地址是否正确,同时可以通过编辑算法,更新镜像信息,再重新检查,直到镜像状态恢复正常。

  8. 配置部署密钥(Deploy Key)

    新建Git算法项目后,平台将自动生成一对SSH密钥,私钥平台将自动保存,公钥即部署密钥,需要您手动配置到Git项目中,以允许Octopus平台和您的Git项目建立安全连接,授予平台读取您项目代码的权限。单击“”复制公钥信息到剪贴板,配置公钥到Git项目的具体配置方法请参考“SSH部署密钥配置方法”。

    为增强项目安全性,您可以定期重置公钥,更新您Git项目中的公钥配置。

    说明:

    • 这里配置的部署密钥,是一种只对您指定Git项目有只读权限的密钥。
    • 若SSH部署密钥被重置,则需要您配置新的部署密钥到Git项目,否则代码下载失败。

# 新建可执行文件算法项目

若您的算法项目无需编译,可以直接运行构建算法镜像,则您可以选择可执行文件算法项目。即跳过Git仓库代码下载和在线编译步骤的简化流程,只需上传您的算法文件(一般为编译产物,包含可执行文件、静态或动态链接库等),并配置运行镜像,即可在线构建包含算法的镜像。

  1. 登录Octopus控制台,单击“仿真服务”>“仿真算法”>“新建算法”

  2. 填写算法基本信息

    请根据项目实际情况自定义填写,其中带“*”为必填项。

    • 算法类型:选择“可执行文件”;
    • 算法名称:包含中英文、数字、“_”“-”,不得超过64个字符;
    • 算法描述:不得包含“@#¥%……&*<>\”特殊字符,不得超过255个字符。
  3. 配置运行环境

    表 3 运行配置参数说明

    参数(带*为必填项)

    说明

    运行镜像*

    镜像中包含算法编译所需的所有环境条件,Octopus平台将拉取指定镜像。

    • 您可以直接填写镜像名称,默认从“Docker Hub”顶层命名空间拉取官方镜像。例如,编译需要3.8版本的python镜像,则可以填写“python:3.8”;
    • 您也可以填写完整的镜像地址。例如,若您编译所需的镜像存储在SWR服务,则可以填写具体地址,直接填写:“swr.cn-north-1.myhuaweicloud.com/self/project-1-compile:1.0”。

      SWR服务镜像上传和获取方法请参见“如何使用SWR服务管理镜像”。

      注意:

      此处需填写公开镜像地址,即在网络可达的情况下,任何人可以无鉴权访问。

    运行命令*

    可执行文件的运行命令。例如,若待上传的可执行文件为“test.sh”,则执行“test.sh”命令启动运行脚本。

    运行目录

    若算法需要在特定目录下运行,请填写运行目录的相对路径(相对工作目录,运行和编译的工作目录一致)。

    缺省值“.”,即当前目录,也是工作目录。

    挂载目录

    算法运行时的当前目录,缺省值“/srv/code”。

  4. 以上信息填写完成后,单击“创建”新建算法项目;

  5. 检查镜像状态

    算法项目新建后,在“Git算法项目”列表可以查看到新建的算法项目,单击指定“算法名称”,可以查看算法项目的基本信息和配置详情。如下图红框所示,为运行镜像的拉取状态。

    • 若镜像地址有效,状态为“镜像正常”;
    • 若镜像地址无效,状态为“拉取失败”;

    若镜像拉取失败,请检查镜像名称或地址是否正确,同时可以通过编辑算法,更新镜像信息,再重新检查,直到镜像状态恢复正常。

上次更新: 6/29/2021, 2:13:44 PM