当前位置: 首页 > news >正文

arm64适配系列文章-第十章-arm64环境上jenkins的部署

ARM64适配系列文章

第一章 arm64环境上kubesphere和k8s的部署
第二章 arm64环境上nfs-subdir-external-provisioner的部署
第三章 arm64环境上mariadb的部署
第四章 arm64环境上nacos的部署
第五章 arm64环境上redis的部署
第六章 arm64环境上rabbitmq-management的部署
第七章 arm64环境上minio的部署
第八章 arm64环境上seata的部署
第九章 arm64环境上sentinel的部署
第九章 arm64环境上jenkins的部署
第十章 arm64环境上jenkins的部署


文章目录

  • ARM64适配系列文章
  • 前言
  • 一、机器信息获取
    • 1.1 芯片信息
    • 1.2 操作系统版本信息
  • 二、版本获取
  • 三、准备工作
    • 3.1 docker-compose安装
    • 3.2 nodejs准备
    • 3.3 jdk准备
    • 3.4 maven准备
    • 3.5 容器内apt源文件的准备
    • 3.6 容器内dns文件的准备
  • 四、jenkins的yaml文件
  • 五、运行测试


前言

手里运维的业务平台要部署到用户环境,对方是华为910B的机器,单位目前没有,只有老的arm64架构的机器,反正先适配着,防止后续现抓麻爪了。
这一章记录jenkins的适配步骤。现在也有buildx的方案进行跨架构的编译,但是我现在手里有机器,就不值得用那个方案了,而且jenkins会用一段时间,开发同事那边也方便操作,所以就放弃了buildx的方案。

一、机器信息获取

1.1 芯片信息

lscpu

Architecture:          aarch64
Byte Order:            Little Endian
CPU(s):                40
On-line CPU(s) list:   0-39
Thread(s) per core:    1
Core(s) per socket:    40
Socket(s):             1
NUMA node(s):          1
Model:                 1
CPU max MHz:           2500.0000
CPU min MHz:           600.0000
BogoMIPS:              40.00
L1d cache:             unknown size
L1i cache:             unknown size
L2 cache:              unknown size
L3 cache:              unknown size
NUMA node0 CPU(s):     0-39
Flags:                 fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid asimdrdm

1.2 操作系统版本信息

hostnamectl

   Static hostname: datax3Icon name: computer-serverChassis: serverMachine ID: 570e6fdcda17439886d6364f7a3ba217Boot ID: c6b431eb288d4de4b62a823a7f383e7bOperating System: CentOS Linux 7 (AltArch)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 4.14.0-115.el7a.0.1.aarch64Architecture: arm64

二、版本获取

之前使用的是jenkins/jenkins:2.462.2-lts版本
通过dockerhub发现jenkins/jenkins:2.462.3-lts版本有支持arm的,尝试下载进行使用

# dockerpull.cn是国内加速源
docker pull image.cloudlayer.icu/jenkins/jenkins:2.462.3-lts
# 查看架构支持信息
docker inspect  image.cloudlayer.icu/jenkins/jenkins:2.462.3-lts |grep Arch"Architecture": "arm64",
# run一下试试
docker run -it image.cloudlayer.icu/jenkins/jenkins:2.462.3-lts /bin/bash
# 运行正常

三、准备工作

3.1 docker-compose安装

wget https://github.com/docker/compose/releases/download/v2.35.0/docker-compose-linux-aarch64chmod +x /usr/local/bin/docker-compose-linux-aarch64ln -s /usr/local/bin/docker-compose-linux-aarch64 /usr/bin/docker-compose

3.2 nodejs准备

wget https://registry.npmmirror.com/-/binary/node/latest-v16.x/node-v16.20.2-linux-arm64.tar.gz;

3.3 jdk准备

是从bell-sw下载的,这里的422版本是项目后端服务上指定的

wget https://download.bell-sw.com/java/8u422+6/bellsoft-jdk8u422+6-linux-aarch64.tar.gz

3.4 maven准备

经过查询arm64和x86兼容,不需要单独下载新的arm版包

3.5 容器内apt源文件的准备

容器内是debian12的操作系统,要使用DEB822 格式的才行
debian.sources

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian
Suites: bookworm bookworm-updates bookworm-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpgTypes: deb
URIs: https://security.debian.org/debian-security
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

这里的源使用的是清华源的
地址:https://mirrors.tuna.tsinghua.edu.cn/help/debian/

3.6 容器内dns文件的准备

resolv.conf

# Generated by Docker Engine.
# This file can be edited; Docker Engine will not make further changes once it
# has been modified.nameserver 127.0.0.11
nameserver 8.8.8.8
nameserver 114.114.114.114 
options ndots:0# Based on host file: '/etc/resolv.conf' (internal resolver)
# Overrides: [nameservers]
# Option ndots from: internal

四、jenkins的yaml文件

version : '3'
services:jenkins:user: rootrestart: alwaysprivileged: trueimage: image.cloudlayer.icu/jenkins/jenkins:2.462.3-ltscontainer_name: jenkins-armports:- 8081:8080- 50002:50000environment:TZ: 'Asia/Shanghai'volumes:- /home/jenkins-arm/jenkins_home:/var/jenkins_home/- /var/run/docker.sock:/var/run/docker.sock- /usr/bin/docker:/usr/bin/docker- /home/jenkins-arm/apache-maven-3.9.9:/usr/local/maven/apache-maven-3.9.9- /home/jenkins-arm/jdk8u422:/usr/local/java/jdk8u422- /home/jenkins-arm/node-v16.20.2-linux-arm64:/usr/local/nodejs/node-v16.20.2-linux-arm64- /etc/docker/daemon.json:/etc/docker/daemon.json- /home/jenkins-arm/debian.sources:/etc/apt/sources.list.d/debian.sources- /home/jenkins-arm/resolv.conf:/etc/resolv.conf

五、运行测试

可以正常运行,没有问题

在这里插入图片描述

相关文章:

  • docker部署Jenkins工具
  • PTA -L1-001 Hello World
  • 联邦知识窃取模型(FedBM):从预训练语言模型中窃取知识以实现异构联邦学习|文献速递-深度学习医疗AI最新文献
  • TCP基础题:音乐播放列表管理系统
  • React 的 useEffect 清理函数详解
  • Docker-高级使用
  • 【python】Python 中,单下划线(_)和双下划线(__)开头以及结尾的命名方式具有特殊的含义和用途
  • 安恒web安全春招实战
  • 如何使用 Apache 配置用户主页 ?
  • 【前端】【面试】在前端开发中,如何优化 CSS 以提升页面渲染性能?
  • 轻松完成视频创作,在线视频编辑器,无需下载软件,功能多样实用!
  • 游戏引擎学习第243天:异步纹理下载
  • C++区别于C语言的提升用法(万字总结)
  • 推荐几个可以免费下载视频的软件(Neat Download Manager、蜗牛下载助手、bilidown)
  • 【安全扫描器原理】网络扫描算法
  • 【题解-Acwing】851. spfa求最短路
  • 动态自适应分区算法(DAPS)设计流程详解
  • 【Qt6 QML Book 基础】07:布局项 —— 锚定布局与动态交互(附完整可运行代码)
  • MySQL 报错解析:SQLSyntaxErrorException caused by extra comma before FROM
  • 网络原理 - 7(TCP - 4)
  • 药企销售的茶碱层层流转后部分被用于制毒,销售人员一审被判15年
  • 期待会师!神二十与空间站完成对接
  • 神十九乘组视频祝福第十个中国航天日,展望中华民族登月梦圆
  • 泽连斯基提议乌俄“立即、全面和无条件”停火
  • 习近平同阿塞拜疆总统阿利耶夫会谈
  • 巴基斯坦航天员选拔工作正在进行,1人将以载荷专家身份参加联合飞行