【需求描述】

1.工作范围

乙方将向甲方提供本工作任务书第3条所述的技术成果及服务。

2.基本定义及要求

1.  流水线组件(Component):基于docker的镜像开发dockerfile及组件实现,执行独立任务(Task),有符合标准的输入输出。

2.  组件支持语言类型Python与Java.

3.  流水线组件中运行的程序语言与组件支持语言一致或Shell脚本。

4.  拆分边界:遵守单一职责的原则,各组件完成单一任务,如功能测试组件,代码覆盖率检查组件等。详见项目:需求描述。

5.  基础镜像:必须基于甲方提供基础镜像(Image)开发DockerFile。详见参考1

6.  输入格式:输入必须基于标准docker命令的format格式,并且通过CO_DATA标识作为参数的输入格式。如:docker run --env CO_DATA “key1=value1 key2=value2”。 CO_DATA后参数为key/value格式。详见参考2-3

7.  输出格式:输出需要被统一采集,系统标准输必须带有 [COUT] 标识。

标准输出格式为xml或json,以及yaml(必选),通过参数控制输出。

[COUT]标识的使用说明如下:详见参考4

[COUT]+ 交互信息、回显或错误信息

[COUT]CO_RESULT = + 程序执行结果。

参考:

2.  输入命令行格式参考:

docker run --env CO_DATA="DemoGitURL=https://github.com/demo/demo.gitaction=build" docker.io/demo/cncf-demo:latest

除CO_DATA 外,开发者可以定义更多的环境变量,但变量名以 “CO_”开头并大写。

3.  输出命令行格式参考:

程序运行的信息通过向系统标准输出 stdout/stderr 输出,输出格式:

[COUT][conent]|[error]

示例:

fmt.Fprintf(os.Stdout,"[COUT] Unknown Parameter: [%s]\n",s)
fmt.Fprintf(os.Stderr,"[COUT] Bazel build error:%s\n",err.Error())

程序运行的结果需要在程序退出前输出 stdout/stderr ,输出格式:

[COUT]CO_RESULT = [false|ture]

示例:

fmt.Fprintf(os.Stdout,"[COUT] CO_RESULT =%s\n","false")
fmt.Fprintf(os.Stdout,"[COUT] CO_RESULT =%s\n","true")

【交付要求】

1.  项目开发人员需经华为审核资质并同意后方可从事本项目开发。

2.  代码符合开源代码规范,代码注释英文化。重要的接口、核心功能部分必须要有注释说明。

3.  各语言组件的功能定义及数量需要乙方提供,得到甲方确认后,乙方实施开发。

4.   接口参数必须进行合法性校验且与规范保持一致

5.  编写英文介绍文档(README),组件快速入门文档(Markdown格式)。

6.  Java件实现,见附件

7.  项目结束后,开发者需要三个月维护期,维护期间对bug应做到2天内响应给出方案,1周内解决。

8.  故意放置恶意、安全漏洞代码的,将保留追究责任的一切权利。