【需求描述】
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. 故意放置恶意、安全漏洞代码的,将保留追究责任的一切权利。