Arbess零基础学习 - 使用Arbess+GitLab实现Node.js项目自动化构建/主机部署

Arbess 是一款开源免费的 CI/CD 工具,工具支持一键安装零配置,页面设计简洁易用。本文将详细介绍如何安装使用Arbess+GitLab实现Node.js项目自动化构建/主机部署。

1、GitLab 安装与配置

本章节将介绍如何使用CentOS9搭建Gitlab服务器,并将代码存放在Gitlab服务器,提供给Arbess克隆源码。

1.1 安装

  • 安装基础依赖。

sudo yum update -y

sudo yum install -y curl policycoreutils-python-utils openssh-server perl

sudo systemctl enable --now sshd

  • 获取Gitlab安装包。

curl -LO https://packages.gitlab.cn/repository/el/8/gitlab-jh-17.7.0-jh.0.el8.x86_64.rpm

  • 安装Gitlab安装包。访问URL可以自己设置。

export EXTERNAL_URL="http://ip" && sudo rpm -ivh gitlab-jh-x.x.x.rpm

  • 安装完成之后,使用sudo gitlab-ctl status检查服务状态。
  • 浏览器访问配置的http://ip,使用用户名root,密码 /etc/gitlab/initial_root_password 中获取,进行登录。

1.2 配置

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

创建个人令牌

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

个人令牌

2、Arbess 安装与配置

2.1 安装

本文以CentOS操作系统为例。

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

rpm -ivh --replacefiles --nodeps tiklab-arbess-x.x.x.rpm

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

​启动Arbess

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

​Arbess首页

2.2 配置

Arbess流水线采用可视化设计,实现Node.Js项目自动化部署,在流水线中可克隆Gitlab仓库代码,构建并进行多主机部署。创建流水线,进入流水线设计页面进行操作。

2.2.1 配置GitLab任务

  • 配置GitLab服务集成

流水线配置GitLab源码任务之前,需要添加GitLab服务集成,在系统设置→集成与开放→服务集成页面添加相关服务。添加自建的Gitlab,授权类型选择自建Gitlab,填写名称、服务地址、AccessTocken(个人密钥)。

添加源码集成

  • 添加GitLab源码任务

服务集成添加完毕之后,进入流水线设计,点击新阶段→源码→GitLab。

添加GitLab源码

|------------|------------------------------------------------------|
| 字段 | 描述 |
| 任务名称 | 任务名称清晰地标识项目或对象。 |
| Git版本 | Arbess所在服务器Git安装路径。 |
| GitLab授权信息 | 私人令牌,AccessTocken。 |
| 仓库 | 选择授权信息后点击仓库,程序会自动获取凭证权限下的仓库列表,管理者只需选择需要配置的仓库即可。 |
| 分支 | 选择代码的分支。填写需要拉取远程仓库具体的分支,不填默认为master分支,填写错误会导致任务执行失败。 |

2.2.2 配置Node.Js构建任务

源码配置完毕后,配置构建任务,Arbess支持多种构建方式,例如添加Node.Js构建,点击新阶段→构建→Node.Js构建。

​配置Node.Js构建任务

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

2.2.3 配置主机部署任务

点击新阶段→部署→主机部署,输入部署信息,输入完成后,点击空白处进行保存。

配置主机部署任务

|----------|------------------------------------------------|
| 字段 | 描述 |
| 任务名称 | 任务名称清晰地标识项目或对象。默认主机部署。 |
| 主机地址 | 部署主机远程SSH认证凭证。 |
| 部署文件 | 需要部署的文件,可以写绝对路径,也可以写泛路径,泛路径需要配合部署文件规则来匹配到部署文件。 |
| 部署文件匹配规则 | 文件匹配规则,支持正则表达式。 |
| 部署位置 | 部署远程主机位置。 |
| 部署命令 | 文件部署命令。 |

3、运行流水线

  • 运行流水线

多台主机部署完成后,点击右上角运行,验证流水线运行情况。

运行流水线

点击任务日志,可查看任务实时日志,点击对应任务,可查看任务相关日志。

查看运行日志

​查看详细日志

  • 查看运行历史

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

运行历史

至此,用户可通过Arbess流水线克隆GitLab仓库Node.js源码,构建并进行主机部署。

相关推荐
xiaofeichaichai6 小时前
Webpack
前端·webpack·node.js
Python私教9 小时前
把开源 Agent 打包成"解压双击即用"的 Windows 便携包:一条命令的完整实现
node.js
没事别瞎琢磨12 小时前
十一、审计与 Run Session——每一步操作都被记录
人工智能·node.js
没事别瞎琢磨12 小时前
十六、AgentSandbox——把所有模块串起来的编排类
人工智能·node.js
没事别瞎琢磨12 小时前
十二、网络代理与白名单规则引擎
人工智能·node.js
没事别瞎琢磨12 小时前
十四、Git Worktree 隔离执行
人工智能·node.js
没事别瞎琢磨13 小时前
十、统一 Runner 入口——能力检测与模式回退
人工智能·node.js
没事别瞎琢磨13 小时前
八、环境隔离——构建安全的子进程环境
人工智能·node.js
没事别瞎琢磨14 小时前
六、输出捕获与截断
人工智能·node.js
没事别瞎琢磨14 小时前
七、敏感路径预检——Protected Paths
人工智能·node.js