Arbess项目实战 - 基于GitLab+SonarQube搭建Java项目自动化流水线

Arbess 是一款开源免费的 CI/CD 工具,支持免费私有化部署,一键安装零配置。本文将详细介绍如何安装配置使用GitLab、SonarQube、Arbess系统,使用Arbess流水线拉取GitLab源码、使用SonarQube进行代码扫描,构建安装包并部署到远程主机。

1、Gitlab 配置

1.1 配置访问令牌

可以将代码推送到GitLab仓库中,Arbess克隆源码需要创建GItlab的个人令牌,用于Arbess访问Gitlab。进入用户设置→访问令牌,按照需求创建创建访问令牌。

创建个人令牌

令牌创建完毕,请妥善保存好您的令牌。

查看个人令牌

2、SonarQube 配置

2.1 配置项目

登录SonarQube系统后,需要创建项目,以及将代码导入项目进行分析。在SonarQube首页,点击Create Project,创建项目。输入项目名称、项目Key,点击下一步进行创建。

创建项目

项目创建完成之后,需要生成项目Token,点击右上角头像 → My Account → Security。输入Token名称 → 点击 Generate , 复制生成的Token。

创建Token

创建完毕之后,需要记住token和项目名称,Arbess集成SonarQube需要用到。

3、Arbess 安装与配置

3.1 安装

本文以CentOS操作系统为例。

  • 下载,CentOS安装包下载地址:Arbess下载,点击CentOS下载,下载完成后得到类似tiklab-arbess-x.x.x.rpm的文件。
  • 安装,上传到服务器上,在文件同级目录执行命令安装。

rpm -ivh tiklab-arbess-x.x.x.rpm

  • 启动,系统默认安装路径为/opt目录,进入/opt/tiklab-arbess/bin目录下,执行./arbess start即可启动成功。

启动Arbess系统

使用 http://ip:9200 进行访问。使用初始用户名密码admin\123456登录,成功登录后展示Arbess首页。

Arbess首页

3.2 配置

Arbess流水线采用可视化设计,在流水线中可克隆Gitlab仓库代码、集成SonarQube进行代码扫描。创建流水线,进入流水线设计页面进行操作。

3.2.1 配置GitLab源码任务

  • 配置GitLab服务集成

流水线配置GitLab源码任务之前,需要添加GitLab服务集成,在系统设置→集成与开放→服务集成页面添加相关服务。授权类型选择Gitlab、填写名称、AccessTocken(个人密钥,即文章1.2部分创建的个人访问令牌)。

添加源码集成

如需要添加自建的Gitlab,授权类型选择自建Gitlab、填写名称、服务地址、AccessTocken(个人密钥)。

添加源码集成

  • 添加GitLab源码任务

服务集成添加完毕之后,进入流水线设计,点击新阶段→源码→GitLab。需要填入任务名称、Git版本、GitLab授权信息(AccessTocken)、仓库、分支等信息。

添加GitLab源码任务

字段

描述

任务名称

任务名称清晰地标识项目或对象。

Git版本

Arbess所在服务器Git安装路径。

GitLab授权信息

私人令牌,AccessTocken。

仓库

选择授权信息后点击仓库,程序会自动获取凭证权限下的仓库列表,管理者只需选择需要配置的仓库即可。

分支

选择代码的分支。填写需要拉取远程仓库具体的分支,不填默认为master分支,填写错误会导致任务执行失败。

3.2.2 配置SonarQube代码扫描

  • 配置SonarQube服务集成

流水线配置SonarQube任务之前,需要添加SonarQube服务集成,在系统设置→集成与开放→服务集成页面添加相关服务。授权类型选择Sonar、填写名称、服务地址、认证类型(用户名密码、密钥)、用户名、密码。

添加SonarQube服务

  • 添加SonarQube代码扫描任务

服务集成添加完毕之后,进入流水线设计,点击新阶段→代码扫描→SonarQube代码扫描。添加成功之后,弹出代码扫描的配置。

配置SonarQube代码扫描任务

字段

描述

任务名称

任务名称清晰地标识项目或对象。

扫描代码语言

扫描代码语言。

JDK版本

所在服务器JDK安装路径。

Maven版本

所在服务器Maven安装路径。

项目名称

扫描的项目名称,在SonarQube中创建的项目名称。

扫描代码地址

扫描代码存放路径,默认为${DEFAULT_CODE_ADDRESS},也可输入绝对路径。

SonarQube服务

安装SonarQube的服务器地址、用户名、密码。

3.2.3 配置Maven构建任务

代码扫描添加完毕之后,添加构建安装包任务。根据代码构建方式选择Maven构建,点击新阶段→构建→Maven构建。输入构建信息,输入完成后,点击空白处进行保存。

配置Maven构建任务

字段

描述

任务名称

任务名称清晰地标识项目或对象。

JDK版本

Arbess所在服务器JDK安装路径。

Maven版本

Arbess所在服务器Maven安装路径。

模块地址

构建路径,默认为${DEFAULT_CODE_ADDRESS},也可输入绝对路径。

执行命令

执行Maven构建的命令。

3.2.4 配置主机部署任务

点击新阶段→部署→主机部署。输入部署信息,部署的内容可以使用变量,添加变量后使用${变量名称}进行引用,输入完成后,点击空白处进行保存。

配置主机部署任务

字段

描述

任务名称

任务名称清晰地标识项目或对象。默认主机部署。

主机地址

部署主机远程SSH认证凭证。

部署文件

需要部署的文件,可以写绝对路径,也可以写泛路径,泛路径需要配合部署文件规则来匹配到部署文件。
部署文件匹配规则文件匹配规则,支持正则表达式。

部署位置

部署远程主机位置。

部署命令

文件部署命令。

至此流水线设计完毕,下面介绍流水线运行以及查看代码扫描报告。

4、运行流水线

  • 运行流水线

流水线设计完毕之后,Arbess支持自动触发、Webhook触发、手动触发三种运行模式。点击右上角“运行”按钮,手动触发流水线。

运行流水线

流水线运行同时,点击认为标签右下角“日志”,可查看运行实时日志。

查看详细日志

  • 查看代码扫描报告

全部任务显示为√则运行成功,运行完毕之后,可以在测试报告页面查看SonarQube代码扫描报告,点击测试报告→代码扫描→SonarQube,查看SonarQube代码扫描报告。

查看测试报告

点击SonarQube代码扫描报告名称,进入跳转到SonarQube查看详细报告。

查看详细报告

  • 查看运行历史

可以在Arbess历史页面查看到流水线运行历史。点击运行历史序号,即可查看详细的运行日志。

运行历史

至此,使用Arbess搭建流水线,克隆GitLab源码、使用SonarQube代码扫描,构建安装包并主机部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1155581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全与合规“红线”下,企业级AI Agent平台如何成为“守护者”而非“风险源”?

在企业加速拥抱AI智能体的同时,法务、合规与安全部门的焦虑与日俱增:数据泄露、算法偏见、决策不可解释、监管处罚……这些风险让许多项目踌躇不前。事实上,一个设计周全的企业级AI agent开发平台,恰恰应是企业驾驭AI风险最强的“…

Spring全家桶深度解析:从Spring到Spring Cloud的技术演进之路

一、引言 在Java企业级开发领域,Spring生态系统无疑是最重要的技术栈之一。从最初的Spring框架,到专注于Web开发的Spring MVC,再到简化配置的Spring Boot,直至构建微服务架构的Spring Cloud,这四大核心框架共同构成了…

用于多模态MRI重建的带空间配准的深度展开网络/文献速递-基于人工智能的医学影像技术

2026.1.13本文提出了一种名为DUN-SA的深度展开网络,通过将空间配准任务自适应地整合到多模态MRI重建过程中,并引入对齐的跨模态先验,有效解决了模态间错位和传统方法可解释性差的问题,实现了更优的重建性能和对配准误差的鲁棒性。…

Arbess项目实战 - 基于GitLab搭建Vue.js项目自动化流水线

Arbess 是一款开源免费的 CI/CD 工具,支持免费私有化部署,一键安装零配置。本文将详细介绍如何安装Arbess、GitLab,并创建配置流水线实现 Vue.Js 项目构建并主机部署。 1、GitLab 安装与配置 1.2 配置访问令牌 gitlab安装完成之后&#xf…

Google代理跨境电商深度解析:3个关键策略让订单量暴涨

你是否是跨境电商卖家,面对Google Ads账户优化无从下手?或者投了广告却效果平平,不知道如何突破流量瓶颈?本文将通过3个真实的Google代理跨境电商成功案例,深度解析关键策略,帮你找到提升订单量的密码。一、…

分时电价和两部制电价下,安科瑞预付费管理系统如何帮助园区实现自动计费功能?

一、政策框架分时电价政策时段精细划分:每日划分为尖峰、高峰、平段、低谷等时段(如江西新政设5个时段,峰谷价差最高达4倍)。动态调整机制:季节、节假日电价浮动(如夏季高峰时段延伸、重大节日设深谷电价&a…

Google广告投放:代理服务vs自建服务器,哪条路径更划算

很多企业在布局Google广告时,都会面临一个关键选择——是找专业代理服务商,还是自己搭建服务器独立运营?两者在成本上的差异直接影响企业的营销预算和ROI。本文将通过科普5大维度深度对比,帮你理清两者的优劣势,找到最…

Windows 下小狼毫输入法 (Rime) 极简配置指南:从劝退到顺手

初次安装小狼毫(Weasel)输入法的用户,往往会在看到其“复古”的候选词界面时心生退意。这款输入法默认的视觉风格似乎停留在了 Windows 98 时代,且找不到常规软件那样直观的设置面板。然而,这种简陋的外表下隐藏着极高…

DeepSeek后的又一黑马:九坤开源IQuest-Coder-V1,首创LoopCoder机制超越Claude Sonnet?

在国产大模型百花齐放的今天,当大家还在热议DeepSeek的惊艳表现时,国内顶级量化机构九坤投资旗下的至知创新研究院(ZhiZhi Institute)悄然引爆了一枚技术深水炸弹。 他们正式发布了专注于代码生成领域的垂类模型——IQuest-Coder…

为什么人们仍在使用 Vim 而非 Neovim

2026 年了,Vim vs Neovim 的战争还没结束?我最近重温了 Reddit 上一个经典老帖(2024 年发的,但放到现在依然超有代表性),标题就是:《为什么还有人坚持用 Vim,而不是 Neovim&#xff…

大数据与边缘计算:半结构化数据的分布式处理

大数据邂逅边缘计算:半结构化数据的分布式处理之道 关键词 大数据、边缘计算、半结构化数据、分布式处理、实时分析、数据管道、边缘节点 摘要 当海量的半结构化数据(如JSON日志、IoT传感器数据、社交媒體內容)遭遇传统集中式大数据处理的“带宽瓶颈”与“延迟痛点”,边…

深度学习毕设选题推荐:基于python_CNN卷积网络对猫的体型识别基于python_CNN深度学习卷积网络对猫的体型识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

一文搞定 Vmware 虚拟机 Linux 配置固定 IP 地址

在使用VMware虚拟机的时候因为默认是DHCP动态分配的IP地址,所以可能会在每次启动的时候都变换一个IP地址。这个对于很多场景就很不方便,特别是配置了一些配置文件里IP地址都要修改,所以如果希望IP地址不要变化可以按照这个文章手动配置一个静…

LeetCode算法刷题——双指针

双指针算法的定义:双指针算法是一种在数组、链表或其他线性数据结构上使用两个“指针”(通常是索引或引用)协同遍历,以高效解决问题的算法技巧。这里的“指针”不一定是指 C/C 中的内存指针,更多是指数组下标或迭代器。…

《创业之路》-844-AI时代新的商业模式:“每个人都可以成为微型企业家,每个AI智能体都可成为一个功能型企业,平台成为创业操作系统。”欢迎来到 CaaS 时代:Company as a Servic

新兴商业模式:让每个平台上的个体拥有原有企业价值创造的系统与能力!!!每个人都可以借助AI成为创业者,每个人都可以利用AI成为企业家,每个人都可以借助平台联合创业!!这就是未来的新…

Jmeter 4.0压力测试工具安装及使用方法

一、Jmeter下载 1.网盘(官网下载贼慢):https://pan.xunlei.com/s/VO5ucfHW9SkAXN8Ns-a5oxoQA1?pwdy4aw# 2.选择进行下载,下载下来为一个压缩包,解压即可。 3.我下载的是jmeter4.0版本,对应jdk1.8。然后就进行解压。 个人认为要…

全网最全10个AI论文写作软件,助继续教育学生轻松完成论文!

全网最全10个AI论文写作软件,助继续教育学生轻松完成论文! AI 工具如何助力继续教育学生高效完成论文 在当今快速发展的学术环境中,继续教育学生面临着日益繁重的论文写作任务。传统写作方式不仅耗时费力,还容易因重复率过高而影响…

elementui message组件去掉文字前面的图标、设置类型、设置时长

https://blog.csdn.net/DarlingYL/article/details/125847733?fromshareblogdetail&sharetypeblogdetail&sharerId125847733&sharereferPC&sharesourcem0_49126700&sharefromfrom_link 这个大神解决了

【综合能源】计及碳捕集电厂低碳特性及需求响应的综合能源系统多时间尺度调度模型附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#x1…

深度学习计算机毕设之基于python_CNN深度学习卷积神经网络对狗注意力是否集中识别基于python_CNN机器学习卷积神经网络对狗注意力是否集中识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…