Arbess从初级到进阶(7) - 使用Arbess+GitLab实现PHP项目自动化部署

Arbess 是一款国产开源免费的 CI/CD 工具,工具轻量、简洁易用。本文将详细介绍如何安装Arbess、GitLab,创建流水线实现 PHP 项目自动化构建并主机部署。

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 tiklab-arbess-x.x.x.rpm

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

​启动Arbess

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

​Arbess首页

2.2 配置

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

2.2.1 配置GitLab任务

  • 配置GitLab服务集成

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

添加源码集成

  • 添加GitLab源码任务

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

添加GitLab源码

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

2.2.2 配置PHP构建任务

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

​配置PHP构建任务

|------|-------------------------------------------------------|
| 字段 | 描述 |
| 任务名称 | 任务名称清晰地标识项目或对象。 |
| 项目地址 | 代码存放路径,默认为${DEFAULT_CODE_ADDRESS},即源码拉取存放路径,也可输入绝对路径。 |
| 执行命令 | 执行PHP构建的命令。 |

2.2.3 配置主机部署任务

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

配置主机部署任务

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

3、运行流水线

  • 运行流水线

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

运行流水线

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

查看运行日志

  • 查看运行历史

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

运行历史

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

相关推荐
BingoGo2 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack2 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack3 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082854 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe4 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5