上云无忧 > 文档中心 > 百度智能云持续交付iPipe使用教程 - 任务配置
持续交付iPipe
百度智能云持续交付iPipe使用教程 - 任务配置

文档简介:
Maven构建 插件使用指南: 使用Apache Maven构建Java项目。 配置方式: 方式一:不配置打包上传(只是简单的编译代码,review代码,配置到Change流水线上)。 方式二:配置打包上传(需要做发布、部署的操作)。 【百度智能云】效率云
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

Maven构建 插件使用指南

使用Apache Maven构建Java项目。

配置方式

方式一:不配置打包上传(只是简单的编译代码,review代码,配置到Change流水线上)

方式二:配置打包上传(需要做发布、部署的操作)

查看制品库irepo页面地址:https://console.bce.baidu.com/irepo/

查看执行结果:

下载编译日志,查看编译信息

Gradle构建 插件使用指南

使用Gradle构建Java项目。

配置方式

方式一:不配置打包上传(只是简单的编译代码,review代码,配置到Change流水线上)

方式二:配置打包上传(需要做发布、部署的操作)

查看执行结果(执行成功):

发布 插件使用指南

简介

发布生成四位版本号供下游部署平台使用,发布依赖编译或构建插件。

配置方式

发布插件一定要配置到编译插件后面

执行过程

执行结果(成功案例)

执行取消发布

查看发布任务详情

1.JPG

Jenkins 插件用户指南

Jenkins 插件 iPipe-Agent

iPipe-Agent 是一个用来与 iPipe 对接的插件。您只需简单的操作,即可享受 iPipe 与 Jenkins 带来的持续交付可视化和自动化的便捷。

插件.hpi文件下载地址

下载链接: https://pan.baidu.com/s/12dbnnOmyzLaT1fOPku-qPA
提取密码: 96wl

安装Jenkins步骤:

Jenkins支持外网机器部署:

  1. 登录上述相应的机器,下载安装jdk,建议1.8, 下载链接:https://pan.baidu.com/s/1aDE-OxxygXkEmnFCJoYGKg 提取码:zmut

解压以后在/etc/profile文件末尾处配置环境变量 比如我的JDK解压到/home/local目录下 export PATH=/home/local/jdk1.8.0_192/bin:$PATH

  1. 下载2.19版本Jenkins.war 点击下载: 链接:https://pan.baidu.com/s/1KJP2vdHLI9BIY_6rtFDIVw 提取码:7tjm
  2. 将下载好的jenkins.war上传到保定BCC机器上或者其他外网机器。
  3. 执行命令:nohup java -Dfile.encoding=utf-8 -Dhudson.model.ParametersAction.keepUndefinedParameters=true -jar jenkins.war --httpPort=8888 & (8888为启动端口号,可以根据实际情况更改)
  4. 会看到当前目录下生成一个nohup.out文件
  5. jenkins配置、构建等数据,默认保存到了~/.jenkins目录下,建议定期备份

插件安装

Jenkins版本要求:测试于Jenkins版本2.19上完成,建议使用该版本。其他Jenkins版本

1.x理论上兼容,可以试用。

方式一 使用 jenkins 管理页面的插件安装推荐使用

  • 打开 jenkins 的系统管理页面(BCC公网IP+启动端口号)

  • 进入插件管理页面

  • 选择高级

  • 在页面下方可以看到上传插件,选择 iPipe-Agent 插件 hpi 文件上传即可

注意:自动安装的插件有些会有安装失败的情况,应是有些版本不支持,可以在此链接: http://updates.jenkins-ci.org/download/plugins 下载版本的.hpi文件即可(Ctrl+F搜索需要的替换的插件名称) 以publish-over-ssh插件为例:

方式二

将 iPipe-Agent 插件 hpi 文件复制到 /.jenkins/plugins 目录下,重启 jenkins 即可完成插件安装

注册 jenkins 到 iPipe

可注册多个jenkins

  1. 安装 iPipe-Agent 插件后便可在 jenkins 的系统管理页面看到 iPipe-Agent 的管理入口

  1. 填入注册信息,保存即可注册完成

3.将“防止跨站点请求伪造”选项去掉勾选

创建一个 Job

  1. 注册好 jenkins 之后,即可创建 job

  1. 在配置 job 时可以填入项目标识列表,以半角逗号分隔;配置以后,则在iPipe上流水线中可以使用该job。

之后在框里写个echo "test"就可以保存啦!

iPipe流水线上配置Jenkins Job

完成上面的步骤后即可在 iPipe 中配置刚刚新建的 Jenkins Job 到流水线上

  1. 首先进入 iPipe 流水线首页, 查看右上角,可以选择创建一条新的流水线,也可以在原有的流水线配置上更改配置保存后重新构建即可,流水线配置详情请参考流水线配置指南,这里只提供示例,如下图:
  2. 选择添加 Stage、job

3.查看在iPipe上执行的效果:

4.在Jenkins构建页面查看触发的任务构建日志,下图表示执行成功:

参数传递

iPipe-Agent 插件实现了上下游 Job 之间的参数传递功能

  1. 在 Jenkins 中创建 Job 时可以选择参数输出文件,并将想要传递的参数输出到上面指定的文件,一行一个键值对,格式为$VAR_NAME=$VAR_VALUE

  1. 传递的参数可以直接在下游 Job 中使用,使用方法为$加上参数名

  1. 到 iPipe 中配置好上下游 Job,即可实现参数传递

Jenkins上游配置:

Jenkins下游配置(手动触发或自动触发都可以):

  1. 可以在构建日志中看到,下游的 Job 成功接受参数:

  1. Job 的输出参数和接受参数也可在详情页中查看

上游参数: 下游参数:

部署BCC机器用户指南

BCCDeploy简介

BCCDeploy插件可以将自己的项目打包部署到已购买的BCC云服务器上。

服务器安装部署客户端步骤

登录百度智能云BCC服务器(公网IP)并执行以下命令:

首先确认BCC的操作系统是否为Centos, 执行命令:cat /etc/redhat-release root账号下执行以下命令: mkdir -p /home/work (创建客户端安装目录) cd /home/work (进入客户端安装目录) wget http://sugarheap.bid.local.baidubce.com:15505/download?fileName=salt-64.tar.gz -O salt.tar.gz (下载) tar -xzvf ./salt.tar.gz (解压压缩文件) sh ./bin/control start (运行客户端) sh ./bin/control status (查看客户端状态,显示Running就是正常的,参考下图执行的命令)

“BCCDeploy”插件在iPipe上配置(Demo)

Demo的环境准备:

  • 登录BCC机器,下载安装jdk,建议1.8, 下载链接:https://pan.baidu.com/s/1aDE-OxxygXkEmnFCJoYGKg 提取码:zmut

    解压以后在/etc/profile文件末尾处配置环境变量 比如我的JDK解压到/home/local目录下 export PATH=/home/local/jdk1.8.0_192/bin:$PATH

  • BID Demo代码库的例子在此链接下载: 下载链接:https://pan.baidu.com/s/1On4IncSZlcQjcrA8cgZHLw 提取码:6jl1

“BCCDeploy”插件在ipipe上配置如下:

可配置在编译插件或发布插件后面,编译中配置的命令如下(BID部署的启动脚本需参考此命令,启动命令demo下面已经给出,下载即可):

在iPipe上配置如下:

"停止命令"和"启动命令"

下载链接:https://pan.baidu.com/s/17rxMf-Tr4uZyHyiIm0fpuQ 提取码:6ajd 将下载好的这三个.sh文件上传到BCC机器/home/work/下,并执行命令:

chmod +x start.sh
chmod +x startspring.sh
chmod +x stop.sh

名词解释:

任务名:任务名可自定义;

类型:通过下拉选框选择“BCCDeploy”;

执行账户:BCC机器上的操作用户,需与下载客户端的账户一致;

部署路径:代码库(项目)的部署的位置,会将编译产出的目录(.output/*.war)放到此目录下(此产出目录需参考编译命令,Demo已给出示例);

启动命令:启动程序的命令脚本,需要自己编写符合自己项目的shell脚本,温馨提示:此demo中的shell脚本中启动命令用的是java -jar命令启动output目录下的war包,如图;

停止命令:停止程序命令脚本,需自己编写shell脚本,温馨提示:每次部署会先检查进程,然后kill掉,如图;

部署资源:指定需要部署到哪台BCC机器上,可多选,但需要在选择的BCC机器上部署agent;

其中,还有个选项就是自动检查验证和人工检查验证,

区别如下图:

回调接口需在代码里自己开发,返回格式如下:

比如:

后者是需要人工检查完成后,通过点击链接打开部署任务,在部署任务中手动点击“确认”按钮完成检查流程,如下图:

第一次执行BID任务会失败,而且BID页面任务列表中会没有数据,原因是没有对BID实例进行授权操作,这时候需要效率云主账号对BID实例进行授权操作,根据提示,点击“是”即可。

点确定以后,到iPipe流水线重新执行BID任务即可.

最后在BCC机器的/home/work目录下查看是否将发布产出部署上去:

查看在ipipe上执行结果

在浏览器上输入:公网IP:8080

iScan接入iPipe使用指南

简介

iPipe流水线配置iScan插件后,相应的流水线每次构建或执行都会自动触发扫描,及时发现代码问题,保证质量和开发效率。

iScan插件使用步骤

step1 进入流水线配置页面

step2 添加任务

step3 选择iScan扫描插件

step4 配置插件

step5 触发流水线执行扫描任务

step6 触发流水线执行结果(因配置的时候是选择的“存在高危缺陷时任务失败”,所以此时任务是成功的)

step7 查看执行详情

配置说明

基础配置

任务名

流水线中iScan扫描任务的名字

语言类型

要扫描的语言,iPipe系统会分析代码库的语言构成自动推荐扫描语言,如果要扫描的语言与推荐的不相符,请手动选择要扫描的语言

扫描工具

上面指定的语言所支持的扫描工具,具体见下方的表格。

如果要一次扫描任务配置多个工具同时扫描,请参考:多工具并行扫描

编译命令 Object-C语言项目,Xcode创建的工程使用xcodebuild命令行编译;

android语言选用infer工具时,gradle构建的工程选用./gradlew命令行编译;

编译命令格式:commands1&&commands2,

其中编译前的准备环境命令以及clean命令要写在最前面即commands1,各命令间用英文分号隔开; 编译命令为commands2;

commands1和commands2命令都是相对于代码根目录的,如果需要进入到指定目录下执行命令,比如obeject-c项目要进入根目录下的app文件夹执行commands1与commands2,命令如下: cd app;xcodebuild -scheme XX -workspace XX.xcworkspace -configuration Release clean && cd app;xcodebuild -scheme XX -workspace XX.xcworkspace -configuration Release build

语言 扫描工具 默认推荐工具
Java BCA-Java
Java FindBugs
Java PMD
Java Fox
C/C++ BCA-Cpp
C/C++ Clang Static Analyzer
Android BCA-Java
Android Findbugs
Android Godeyes
Android Fox
Android Android Lint
PHP PHPMD
PHP RIPS
PHP SonarEngine
PHP PHPCheckstyle
Python Pylint
Go Govet
Go Golint
JavaScript ESLint
Object-C Infer
Object-C oclint

选择infer,clang,oclint、findbugs这个需要编译的工具时,下方会出现编译命令元素,用于指定编译代码所需的命令

扫描等级

用于控制扫描的范围,目前支持扫描全部缺陷,只扫描中高级缺陷,只扫描高级缺陷三种选择,默认为只扫描中高级缺陷

扫描红线

用于控制出现何种缺陷的时候流水线任务,目前支持忽略所有漏洞,存在高级漏洞时失败,存在中高级漏洞时失败,存在所有漏洞时扫描失败

高级配置

过滤

选择只扫描时:iScan扫描任务会只扫描编辑框内指定的若干个路径,(不用填写代码库三级路径,从后面的路径填写即可,比如完整路径为i6xfauqk/lihangtest/icodeDemo/src,若只想扫描src,填写src即可)

选择不扫描时:iScan扫描任务会不扫描编辑框内指定的若干路径, 如果编辑框不填写内容,则不会进行过滤操作

Docker构建使用指南

Docker构建是指通过流水线构建和制品管理,将编译之后的服务通过打docker镜像推送至百度容器引擎CCE上管理。

  • Docker构建参考Demo可在此链接下载: 链接:https://pan.baidu.com/s/1Wkwdp7sZ0y0uYMuuIdQUKw 提取码:w1zb

制品管理iRepo配置制品

回到制品库列表页面查看是否创建成功。

在持续集成流水线iPipe上配置

1.选择Maven编译或Gradle编译插件,这里以Maven编译插件为例

2.配置详情

注意:

如果出现因"镜像Tag"重复导致构建失败的问题,可以在配置任务的时候,“镜像Tag”使用系统变量参数,如填写:${AGILE_PIPELINE_BUILD_ID}

3.点击保存触发构建即可

4.查看构建结果

查看镜像上传结果

查看制品库镜像详情页面是否真的上传成功。

相似文档
  • 交付之分支关联卡片,如下图: 【百度智能云】效率云
  • 资源管理: 资源是DevOps系统中任务执行的载体,效率云支持对主机组资源和容器集群资源的纳管。资源可以用来执行CI任务,进行环境部署或者投放异常测试用例。 【百度智能云】效率云
  • 新建制品库: 1.制品库设置可以进行修改制品库名称,描述,以及添加删除成员管理。 2.新建制品库目前支持两种:(1)通用制品库;(2)Docker镜像仓库。 【百度智能云】效率云
  • Maven是Java语言中使用最为广泛依赖管理工具,iRepo提供Maven包的存储和拉取。 新建Maven制品仓库: 设置制品库的名称和标识,根据制品库的作用设置是否接受Release包或者Snapshort包。 配置Maven认证信息: iRepo目前支持使用用户名和Token进行鉴权。 【百度智能云】效率云
  • 什么是用户故事地图(User Story Mapping)? 传统的产品待办项列表(Product Backlog)相对于传统管理办法是一个巨大的进步,但是仍然存在一些问题: 只见树木不见林、 重要的待办项容易淹没在各种细节中、 看不到全貌因而难以排列优先级、 并未明显地聚焦于用户需求。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部