# 新建算法
Git算法项目支持新建的算法类型有两种:
-
即算法托管在第三方Git仓库,可以直接拉取算法到Octopus平台,在线编译并构建算法镜像。
-
即算法是可执行文件,可本地上传后,在线构建算法镜像。
# 新建Git仓库算法项目
登录Octopus控制台,单击“仿真服务”>“仿真算法”>“新建算法”
填写算法基本信息
请根据项目实际情况自定义填写,其中带“*”为必填项。
- 算法类型:选择“Git仓库”;
- 算法名称:包含中英文、数字、“_”“-”,不得超过64个字符;
- 算法描述:不得包含“@#¥%……&*<>\”特殊字符,不得超过255个字符;
配置Git仓库信息
Git地址:配置您的算法项目的Git仓库地址,Octopus平台将从该地址克隆(clone)您的算法项目,当前仅支持SSH方式克隆项目,不支持HTTPS方式。以GitLab平台为例,可以参考格式如下:
ssh://git@gitlab.com:项目名称/xxx/xxx.git //GitLab项目地址格式示例,在您Git项目的“clone”选项下可以直接复制项目地址
Git分支:配置您的算法项目分支。例如一般项目主版本是master,请按项目实际情况填写;
挂载目录:算法编译和运行的当前目录,缺省值“/srv/code”。
配置编译环境
配置编译镜像,以及编译命令、工作目录、产物列表等基本信息,镜像中需包含编译该算法所需的所有环境条件。
表 1 编译配置参数说明
镜像中包含算法编译所需的所有环境条件,Octopus平台将拉取指定镜像。
编译产物及其所在目录的相对路径(相对工作目录),可以是文件或文件夹,将导入到运行镜像中,运行并合成包含算法的镜像。每个算法项目最多添加5个产物。
说明: 编译产物,在Octopus仿真系统中简称产物,指的是项目编译后生成的可执行文件、静态或动态链接库,及其开发、编译、运行时所依赖的其他文件,所打包而成的“tar.gz”文件。在系统使用时,会把它解压到镜像的指定目录下。
配置运行环境
表 2 运行配置参数说明
镜像中包含算法编译所需的所有环境条件,Octopus平台将拉取指定镜像。
运行算法所需命令,一般为算法编译后产生的可执行文件,也支持手动上传。例如,若编译生成的产物为可执行文件“test.sh”,则执行“test.sh”命令启动运行脚本。
以上信息填写完成后,单击“创建”新建算法项目;
检查镜像状态
算法项目新建后,在“Git算法项目”列表可以查看到新建的算法项目,单击指定“算法名称”,可以查看算法项目的基本信息和配置详情。如下图红框所示,为编译镜像和运行镜像的拉取状态。
- 若镜像地址有效,状态为“镜像正常”;
- 若镜像地址无效,状态为“拉取失败”;
若镜像拉取失败,请检查镜像名称或地址是否正确,同时可以通过编辑算法,更新镜像信息,再重新检查,直到镜像状态恢复正常。
配置部署密钥(Deploy Key)
新建Git算法项目后,平台将自动生成一对SSH密钥,私钥平台将自动保存,公钥即部署密钥,需要您手动配置到Git项目中,以允许Octopus平台和您的Git项目建立安全连接,授予平台读取您项目代码的权限。单击“
”复制公钥信息到剪贴板,配置公钥到Git项目的具体配置方法请参考“SSH部署密钥配置方法”。
为增强项目安全性,您可以定期重置公钥,更新您Git项目中的公钥配置。
说明:
- 这里配置的部署密钥,是一种只对您指定Git项目有只读权限的密钥。
- 若SSH部署密钥被重置,则需要您配置新的部署密钥到Git项目,否则代码下载失败。
# 新建可执行文件算法项目
若您的算法项目无需编译,可以直接运行构建算法镜像,则您可以选择可执行文件算法项目。即跳过Git仓库代码下载和在线编译步骤的简化流程,只需上传您的算法文件(一般为编译产物,包含可执行文件、静态或动态链接库等),并配置运行镜像,即可在线构建包含算法的镜像。
登录Octopus控制台,单击“仿真服务”>“仿真算法”>“新建算法”
填写算法基本信息
请根据项目实际情况自定义填写,其中带“*”为必填项。
- 算法类型:选择“可执行文件”;
- 算法名称:包含中英文、数字、“_”“-”,不得超过64个字符;
- 算法描述:不得包含“@#¥%……&*<>\”特殊字符,不得超过255个字符。
配置运行环境
表 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服务管理镜像”。
以上信息填写完成后,单击“创建”新建算法项目;
检查镜像状态
算法项目新建后,在“Git算法项目”列表可以查看到新建的算法项目,单击指定“算法名称”,可以查看算法项目的基本信息和配置详情。如下图红框所示,为运行镜像的拉取状态。
- 若镜像地址有效,状态为“镜像正常”;
- 若镜像地址无效,状态为“拉取失败”;
若镜像拉取失败,请检查镜像名称或地址是否正确,同时可以通过编辑算法,更新镜像信息,再重新检查,直到镜像状态恢复正常。