Arbess从基础到实践(1) - 创建CI/CD流水线

Arbess 是一款开源免费的 CI/CD 工具,支持免费私有化部署,一键安装零配置,采用可视化设计方式,支持丰富多样的任务类型,支持分布式执行流水线。今天来介绍如何使用Arbess 配置你的第一条流水线,快速入门。

1、创建流水线

安装启动完毕后,默认可以通过 http://ip:9200 访问,默认用户名/密码为admin/123456。

默认支持通过账号密码登录,满足基础登录需求。若需要使用企业微信、钉钉或 LDAP 等高级登录方式,可参阅Arbess文档获取相关配置说明。​

​​登录页 ​

进入系统后,可根据不同需求来创建不同的流水线。

1.1 配置基本信息

点击流水线→新建流水线,配置流水线的基本信息,如分组,环境,权限,人员等。

新建流水线

|-------|------------------------------------------|
| 字段 | 说明 |
| 流水线名称 | 流水线名称清晰地标识项目或对象,不能重复以及输入特别字符。 |
| 流水线分组 | 流水线分组便于组织和管理流水线。 |
| 流水线环境 | 流水线环境便于组织和管理流水线。 |
| 流水线权限 | 私有:只有创建者,以及流水线成员可以看到。 全局:系统内的所有人都可看到,查看。 |

1.2 选择模版

流水线信息输入完毕之后,选择流水线模板,Arbess提供了丰富的模板,使用者可以根据不同的需求选择不同的模板。

​流水线模版

创建流水线成功之后,在流水线页面可浏览创建的流水线。支持通过流水线名称(模糊查询)、分组、环境、我创建的、我收藏的进行查询。

​流水线页面

流水线列表支持快捷运行流水线、收藏、克隆和导出YAML文件。

​​流水线操作

1.3 添加成员

流水线创建成功之后,根据流水线的属性(可见范围)对访问项目的成员进行管理。

想要添加流水线成员,需要添加系统用户,依次点击系统设置->用户与权限->用户,在用户页面对系统用户进行管理。​

​​用户列表

系统用户添加完成之后,可以对流水线成员进行添加,在流水线 详情→设置→成员,进入成员编辑页面。

​​成员列表

如果用户在创建流水线未选成员,那么流水线默认有创建人和admin两个成员。点击添加用户,添加的成员列表从系统用户列表获取。点击添加用户,勾选添加用户,点击确定即可成功添加流水线成员。

1.4 分配权限

添加流水线成员后,可以对成员分配权限、修改角色,点击流水线详情→设置→权限,可浏览到内置角色,也可以对角色进行新增。

​​角色列表

|--------|----------------------------|
| 内置角色 | 属性 |
| 流水线管理员 | 权限最大,不可指定普通成员,成员有且只有admin。 |
| 流水线成员 | 普通项目成员,权限最低,可添加多名成员。 |

流水线详情→设置→成员,点击"角色修改",对成员角色进行修改。成员角色可多选。

​​角色修改

2、配置流水线

配置流水线的任务,根据不同的需求添加不同的任务,源码,测试,部署,代码扫描,推送制品,拉取制品等几十种任务支持。

2.1 配置源码

流水线支持配置多种源码仓库,通用Git、Gitee、GitLab、GitHub、GitPuk、SVN、Gitea等。

点击新阶段 --> 点击源码 --> 选择通用Git

​添加源码

|------------|-----------------------------------------|
| 字段 | 描述 |
| 任务名称 | 任务名称清晰地标识项目或对象。 |
| Git版本 | Arbess所在服务器Git安装路径。 |
| 自建GitPuk服务 | 自建GitPuk服务,以及用户名密码。 |
| 仓库 | 选择流水线需要获取代码的仓库。仓库下拉内容会跟随自建GitPuk服务选择变更。 |
| 分支 | 选择自建GitPuk服务的分支。 |

2.2 配置代码扫描

Arbess集成了多种代码扫描工具,SonarQube代码扫描、sourcefare代码扫描等

点击新阶段 --> 点击代码扫描 --> 选择sourcefare代码扫描任务

代码扫描

|----------------------|-----------------------------------------------|
| 字段 | 描述 |
| 任务名称 | 任务名称清晰地标识项目或对象。 |
| 扫描代码语言 | 扫描代码语言(支持Java、JavaScript、Go)。 |
| JDK版本 | 所在服务器JDK安装路径。 |
| Maven版本 | 所在服务器Maven安装路径。 |
| SourceFare服务 | 安装SourceFare的服务器地址、用户名、密码。 |
| SourceFare Scanner版本 | 安装SourceFare Scanner的安装路径。 |
| 项目ID | 扫描的项目ID,在SourceFare中创建的项目ID。 |
| 扫描代码地址 | 扫描代码存放路径,默认为${DEFAULT_CODE_ADDRESS},也可输入绝对路径。 |

2.3 配置自动化测试

Arbess集成了PostIn自动化测试,支持在部署后自动执行PostIn测试计划。选择PostIn自动化测试,点击新阶段→测试→PostIn自动化测试

PostIn自动化测试

|----------|-----------------------|
| 字段 | 描述 |
| 任务名称 | 任务名称清晰地标识项目或对象。 |
| PostIn服务 | PostIn服务地址,以及用户名密码。 |
| 测试空间 | 选择自动执行PostIn的项目。 |
| 测试计划 | 选择自动执行PostIn项目下的测试计划。 |
| 环境 | 选择执行PostIn测试计划的环境。 |

2.4 配置构建

Arbess支持多种语言构建,Maven、Gradle、Node.js、Go、Docker、PHP、Python等构建方式来构建出制品。点击新阶段 --> 点击构建 --> 选择Maven构建​

Maven构建

|---------|-------------------------------------------|
| 字段 | 描述 |
| 任务名称 | 任务名称清晰地标识项目或对象。 |
| JDK版本 | Arbess所在服务器JDK安装路径。 |
| Maven版本 | Arbess所在服务器Maven安装路径。 |
| 模块地址 | 构建路径,默认为${DEFAULT_CODE_ADDRESS},也可输入绝对路径。 |
| 执行命令 | 执行Maven构建的命令。 |

2.5 配置部署

Arbess支持多种部署方式来满足用户不同的需求,自定义部署,主机部署,Docker部署,K8s集群部署等。点击新阶段 --> 点击部署 --> 选择主机部署。

主机部署​

|----------|-----------------------------------------------|
| 字段 | 描述 |
| 任务名称 | 任务名称清晰地标识项目或对象。 |
| 部署方式 | 下拉选择结构化部署或者自定义命令部署。 |
| 主机地址 | 部署主机地址。以SSH的方式,需要填写主机IP、端口、用户名、密码。 |
| 部署文件 | 部署文件存放路径,默认为${DEFAULT_CODE_ADDRESS},也可输入绝对路径。 |
| 部署文件匹配规则 | 配置部署文件,支持正则表达式。 |
| 部署位置 | 需要把文件部署在服务器的那个位置上。 |
| 部署命令 | 需要对部署文件进行怎样的操作。 |
| 部署策略 | 可选择每一批暂停部署或第一批暂停部署这两种方式。 |
| 部署主机数量 | 默认为1,如果有多个主机,可选择多个主机部署。 |

2.5 删除任务

鼠标放在任务上面 --> 点击删除按钮 --> 点击确定即可删除任务配置,删除后无法恢复

删除任务​

3、运行流水线

运行流水线,并实时查看流水线运行信息。

3.1 运行

配置完成,点击左上角运行即可运行流水线。

运行流水线​

3.2 查看运行状态

点击运行弹出运行过程,可以实时查看流水线运行信息,点击任务的日志按钮可以查看任务的具体输出的日志。

流水线日志

3.3 查看测试报告

  • 代码扫描

流水线配置并运行代码扫描后,在测试报告→代码扫描可以查看代码的具体扫描结果。

代码扫描

点击序号,可以查看各种Bug数量,级别,bug的优先级,以及出现bug的原因,具体行数等信息。

代码扫描详情

  • 自动化测试

流水线配置并运行测试后,在测试报告→单元测试/自动化测试,可以查看测试的具体结果。​

测试结果

点击运行结果名称,进入PostIn系统查看详细运行结果。

查看测试结果

4、帮助与支持

如果在安装过程中遇到了问题,Arbess提供了丰富的文档和教程,帮助用户轻松解决问题。前往 Arbess 文档中心,获得详细的配置说明和常见问题解答,同时也可以随时向活跃的社区寻求帮助!

相关推荐
一念一花一世界2 天前
一文了解CI/CD工具Arbess安装与配置
ci/cd·安装配置·cicd·arbess
一念一花一世界6 天前
CI/CD工具选型:GitLab CI与Arbess全面对比指南
ci/cd·gitlab·jenkins·cicd·arbess
一念一花一世界6 天前
CI/CD工具选型:Jenkins与Arbess全面对比指南
运维·ci/cd·jenkins·arbess
一念一花一世界7 天前
Arbess零基础学习 - 通过自定义模版快速设计流水线
ci/cd·结构化·arbess
一念一花一世界8 天前
Arbess零基础学习 - 集成企业微信,使用企业微信扫描登录Arbess
ci/cd·企业微信·arbess
一念一花一世界8 天前
Arbess零基础学习 - 集成钉钉,使用钉钉扫码登录Arbess
ci/cd·钉钉·arbess
lvbinemail9 天前
Jenkins实现持续集成和持续部署[小白教程,按照文档配置即可实现]
jenkins·持续集成·cicd·持续交付·自动部署·继续部署·运维自动化
一念一花一世界9 天前
Arbess V2.1.9版本发布,支持Arm64位系统的安装部署,支持自定义消息模版,支持钉钉消息通知
ci/cd·钉钉·arm·arbess
一念一花一世界9 天前
Arbess零基础学习 - 发布流水线提交评审,通过钉钉通知评审人
ci/cd·钉钉·arbess