如何以Sonar为例创建一个适用与所有企业的测试步骤

云效Flow中一个流水线运行的镜像被称为一个“步骤”,步骤是有一段描述 yaml 和一个 docker 镜像组成的一个最小运行单元,云效流水线 Flow中CLI 工具作为自定义步骤的进阶,以 Sonar 为例创建一个用于测试/扫描的步骤,并开放给所有企业。

立即体验

准备

一个公网可访问的 Sonar 服务。
一个用于测试的代码库,以 maven 项目为例,确保 pom 文件中引入了 sonar 插件:


    
        
            
                org.sonarsource.scanner.maven
                sonar-maven-plugin
                3.4.0.905
            
        
    

本地开发

参照Flow cli搭建好开发环境,初始化一个步骤:

flow step init sonar-qubeBash

sona-qubeBash 目录下会有三个文件
如何以Sonar为例创建一个适用与所有企业的测试步骤_第1张图片
Dockerfile 用于构建步骤镜像,Dockerfile 中的基础镜像为云效提供的基础镜像,里面已经内置了一些软件,尽量不要更改基础镜像,如需更改基础镜像,请确保新的基础镜像中安装了jq.

step.sh 为在步骤中执行的脚本

step.yaml 用户描述步骤信息

前端

编辑sonar-qube文件夹下面的step.yaml:

注意:image 需要改成用户自己的镜像地址,且必须为公开pull权限

---
name: SonarQube(预发)
sign: sonar-qube-staging
description: SonarQube用于测试公开步骤
category: 静态扫描
image: registry.cn-beijing.aliyuncs.com/build-steps/sonar-qube-staging:1.0
items:
  - label: Sonar服务器地址
    name: STEP_SONAR_HOST
    type: input

name 用于定义步骤名称

sign 步骤唯一标识,全局唯一

category 步骤分类

image 步骤镜像地址,image 需要改成用户自己的镜像地址,且必须为公开pull权限

items: 步骤语言描述 请参考步

你可能感兴趣的:(Sonar,云效Flow,代码测试,代码扫描,研发团队)