Open wangliu-iscas opened 4 months ago
老师 我已经完成验证过程 验证过程如下 麻烦老师审核
设置两种类型的虚拟机:Data Center 虚拟机和 Agent 虚拟机。两者均使用 openEuler 24.03 (LTS) RISC-V 版本。
Bamboo 运行需要的依赖如下:
接下来,我们将分别在两台虚拟机上安装 Data Center Node 和 Agent Node。
依赖安装
Data Center 节点需要安装 Java 和数据库。目前,Bamboo 已停止支持 JDK 11 版本,因此本次验证使用 JDK 17 版本。Bamboo 支持多种常见数据库,如 MySQL、PostgreSQL、Microsoft SQL Server 和 Oracle 等。在本次验证中,我们选用 MySQL 数据库。
sudo dnf install java-17-openjdk java-17-openjdk-devel mysql-server
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
sudo systemctl start mysqld
mysql -u root -p
mysql> CREATE DATABASE bamboo;
节点安装
接下来安装 Bamboo CI 的 Data Center 节点,创建节点的 home 目录,并修改相关配置指向该目录。对于 MySQL 数据库,Bamboo 没有提供 JDBC 驱动 JAR 包,需要从 MySQL 官网下载并放置到<BAMBOO_INSTALLATION_DIRECTORY>/lib
目录下
wget https://product-downloads.atlassian.com/software/bamboo/downloads/atlassian-bamboo-9.6.5.tar.gz
tar xvf atlassian-bamboo-9.6.5.tar.gz
mkdir /var/bamboo
vim <BAMBOO_INSTALLATION_DIRECTORY>/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j-8.3.0.zip
unzip mysql-connector-j-8.3.0.zip
mv mysql-connector-j-8.3.0/mysql-connector-j-8.3.0.jar <BAMBOO_INSTALLATION_DIRECTORY>/lib/
修改bamboo.home目录
启动 Bamboo Data Center 节点。节点成功启动后,我们可以在 http://127.0.0.1:8085/
对其进行进一步配置。
在启动时,由于 QEMU 模拟性能问题,可能会遇到 Spring DM Context Creation Timer Timeout occurred before finding service dependencies for
的问题。此时,可以在 <BAMBOO_INSTALLATION_DIRECTORY>/bin/setenv.sh
中增加以下参数:-Datlassian.plugins.enable.wait=300 -Datlassian.plugins.startup.options='-Datlassian.plugins.executor.maxThreads=4'
。这些参数用于限制插件加载使用的线程数和插件加载超时时间。
cd <BAMBOO_INSTALLATION_DIRECTORY>
./bin/start-bamboo.sh -fg # fg flag to run Bamboo in the foreground
启动成功日志
网页配置
首先需要填入license,bamboo提供了30天的评估版,可以到MyAtlassian网页获取激活码。
接下来分别配置 Bamboo instance details, Shared system directories, Local build directory, Remote agent communication 等内容并连接数据库,并创建管理员账号。
安装完成之后进入如下页面,接下来进行remote agent的安装。
依赖安装
Agent 节点只需要安装 Java 即可。
sudo dnf install java-17-openjdk java-17-openjdk-devel
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
节点安装
在Bamboo Dashboard 的 remote agent 页面提供了节点 jar 包的安装地址,运行成功之后可以看到控制台的如下输出,需要对 Agent 进行手动审核通过即可使用。
wget http://192.168.122.227:8085/agentServer/agentInstaller/atlassian-bamboo-agent-installer-9.6.5.jar
java -jar atlassian-bamboo-agent-installer-9.6.5.jar http://192.168.122.227:8085/agentServer/
节点授权成功后可见如下输出,也可以在 Agent 页面查看具体的系统信息。
Bamboo 的持续集成系统以 Job 为基本执行单位。其组织结构如下:
创建 Build Plan 需要基于 Project,因此我们首先要创建一个 Project。
Bamboo Plan 定义了源代码仓库、构建过程中要执行的任务,以及触发构建的条件。
Bamboo 需要知道源代码仓库的位置,并且需要访问仓库的权限,以便在运行构建时可以检出代码。本次验证以 Github 仓库为例。
为 Plan 制定执行任务的 task 时,我们需要遵循以下步骤:首先选择"添加任务",然后选择"构建器",最后选择与项目构建工具相匹配的任务。
在加载 Plan 页面时,可能会遇到 An Unexpected error has occurred
的错误提示。解决方法是启用 Atlassian Bamboo REST plugin 系统插件。可以在 Bamboo Administration > Manage Apps 进行开启。
配置完成后,我们手动运行任务,结果如下图所示。综上所述,Bamboo CI 的 Data Center 节点和 Agent 节点均能在 RISC-V 64 位架构下成功运行。
Agent 具体运行日志如下
说明
问题背景: Bamboo ci节点是否支持在riscv64架构下运行
所需技能: 1、java 2、Bamboo 相关知识
其它: 验证Bamboo ci节点部署在qemu riscv64环境下,并可以执行任务 相关链接: https://confluence.atlassian.com/bamboo/supported-platforms-289276764.html