# huaweicloud-jenkins-plugins **Repository Path**: yaowenjie0925/huaweicloud-jenkins-plugins ## Basic Information - **Project Name**: huaweicloud-jenkins-plugins - **Description**: jenkins对接华为云服务,其中包括OBS对象存储、Codechck代码检查和VSS漏洞扫描等服务 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 9 - **Created**: 2023-05-20 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Jenkins华为云插件 ## 插件使用 #### 下载源码&编译 ```bash git clone https://gitee.com/HuaweiCloudDeveloper/obs-jenkins-plugins.git cd obs-jenkins-plugins mvn package -DskipTests ``` #### 上传插件 >系统管理 --> 插件管理 --> 高级 --> Deploy Plugin --> 选择文件 --> 上传target下的hpi文件 --> 重启Jenkins ## 1、OBS上传文件功能 #### 传统构建后上传功能 ##### 增加构建后步骤 #####修改项目,增加`构建后操作`,选择`华为云OBS上传` ![上传](image/step1.png) ##### 填写华为云OBS配置信息 ![参数](image/step2.png) >本地路径为相对于workspace的路径,例如填写为/abc,则本地路径为${WORKSPACE}/abc > >本地路径可以设置为文件或目录。如果设置为文件则上传单个文件,设置为目录上传整个目录 #### Pipeline流水线上传 ##### 参数说明 | 参数名称 | 参数说明 | | ------------------ | ------------------------------------------------------------ | | ak | Access Key | | sk | Secret Key | | credentialsId | 全局密钥,密钥类型:Secret text,格式:credentialsId:'yourAk,yourSk' | | bucket | Bucket | | endpoint | Endpoint | | workingDir | 当前项目的工作目录,不为空时,将从${workspace}/workingDir下查找需要上传的文件 | | file | 文件名称,用于指定要上传的文件全名,不能与includePathPattern一起使用 | | includePathPattern | 文件正则匹配路径,用于匹配要上传的文件,不能与file一起使用 | | excludePathPattern | 排除文件名正则匹配路径 | | path | obs远端目录,上传的文件将按照工作空间下的目录结构放到此目录下,不填写默认为根目录 | | contentType | [文件类型](https://support.huaweicloud.com/ugobs-obs/obs_41_0025.html#obs_41_0025__section1973224795419) | | kmsId | [SSE-KMS key_id](https://support.huaweicloud.com/api-obs/obs_04_0106.html),加密用 | | acl | [文件权限策略](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0203.html) | ##### 片段生成器生成 ak/sk示例1:OBSPipelineUpload(ak:"...",sk:"...",endpoint:"obs.cn-south-1.myhuaweicloud.com",bucket:"obs-jenkins", includePathPattern:'***/**', path:'path/to/targetFolder/', workingDir:'/', contentType:'application/x-font-ttf', contentDisposition:'attachment',kmsId:'...') 密钥示例2:OBSPipelineUpload acl: 'Private', ak: '', bucket: 'obs-jenkins', contentType: 'application/x-font-ttf', credentialsId: 'global-obs-credentialsId', endpoint: 'obs.cn-south-1.myhuaweicloud.com', file: '', includePathPattern: '**/*', kmsId: '.....', path: 'path/to/targetFolder/', sk: '', workingDir: 'target' ![上传](image/pipeline.jpg) ## 2、CodeArts Check代码检查功能 #### Pipeline流水线上传 ##### 参数说明 | 参数名称 | 参数说明 | | ------------------ | ------------------------------------------------------------ | | ak | Access Key | | sk | Secret Key | | region | Region:所在区域,如cn-north-4 | project_id | codeCheck中的项目id | | task_id | codeCheck中的任务id | | topicUrn | SMN服务中的主题URN,非必填 | ##### 片段生成器生成 示例:CodeCheckPipeline(ak:'',sk'',region:''',project_id:'',task_id:'', topicUrn:'') ![上传](image/checkpipeline.jpg) ## 3、VSS漏洞扫描功能 #### Pipeline流水线上传 ##### 参数说明 | 参数名称 | 参数说明 | | ------------------ | ------------------------------------------------------------ | | ak | Access Key | | sk | Secret Key | | region | Region:所在区域,如cn-north-4 | task_name | 扫描任务名称,自定义即可 | | url | vss扫描的url | | topicUrn | SMN服务中的主题URN,非必填 | | task_type | 扫描任务类型,非必填 | | timer | 普通任务的定时启动时间,非必填 | | trigger_time | 监测任务的定时触发时间,非必填 | | task_period | 监测任务的定时触发周期,非必填 | | scan_mode | 扫描模式:fast - 快速扫描 normal - 标准扫描 deep - 深度扫描,非必填 | | port_scan | 是否进行端口扫描,非必填 | | weak_pwd_scan | 是否进行弱密码扫描,非必填 | | cve_check | 是否进行CVE漏洞扫描,非必填 | picture_check | 是否进行网站内容合规文字检测,非必填 | malicious_code | 是否进行网站挂马检测,非必填 | malicious_link | 是否进行链接健康检测(死链、暗链、恶意外链),非必填 ##### 片段生成器生成 示例:VssPipeline(ak:'',sk:'',region:'cn-north-4',task_name:'test',url:'') ![上传](image/vsspipeline.jpg) ## 构建 1.修改${USER}/.m2/settings.xml中的maven配置文件 在`mirrors`节点中增加 ```xml repo.jenkins-ci.org https://repo.jenkins-ci.org/public/ m.g.o-public ``` 在`pluginGroups`节点中增加 ```xml org.jenkins-ci.tools ``` 在`profiles`节点中增加 ```xml jenkins true repo.jenkins-ci.org https://repo.jenkins-ci.org/public/ repo.jenkins-ci.org https://repo.jenkins-ci.org/public/ ``` 2.打包 ```bash mvn clean package -DskipTests ``` 3.运行 ```bash mvn clean hpi:run ```