用开源软件打造企业级 DevOps 工作流(三):持续集成(企业级开源项目)
1116
2022-05-30
1. 了解鲲鹏
鲲鹏芯片是华为海思发布的基于ARM架构授权,由华为自主设计完成的鲲鹏芯片;华为海思在今年1月初发布的一款兼容ARM指令集的服务器芯片鲲鹏920,配备了64个物理核,当前SPECint Benchmark评测跑分超过930分,将性能纪录提升了25%,创造计算性能纪录,是业界最高性能ARM-Based CPU。
当前鲲鹏不再仅仅局限于鲲鹏系列服务芯片,更是包含了服务器软件在多元计算架构平台上的完整软硬件生态和云服务生态;该生态汇聚了芯片、服务器、操作系统、应用软件、云服务和解决方案等,更多信息请点击如下链接:
鲲鹏社区最新动态
2. 鲲鹏兼容性
2.1 鲲鹏当前OS兼容性
产品与服务
软件
兼容的软件版本
Taishan服务器
centos
centos 7.4
centos 7.5
centos 7.6
centos 8.0及以上
canonical
ubuntu 16.04.3及以上
ubuntu 18.04.1及以上
中标麒麟
中标麒麟高级服务器操作系统软件(ARM64版)V7U5
中标麒麟高级服务器操作系统软件(ARM64版)V5U5
中标麒麟高级服务器操作系统软件(ARM64版)V7U6
中标麒麟高级服务器操作系统软件(ARM64版)V5U6
深之度
深度操作系统ARM服务器版软件V15.2
深度操作系统ARM桌面版软件V15.5SP2及以上
深度操作系统ARM服务器版软件V15.3及以上
红旗
红旗Asianux服务器操作系统V7.0
凝思
Linx 6.0 arm安全版及以上
Linx 6.0 arm通用版及以上
泰山国心
TaishanOS 7
TaishanOS 8及以上
普华
普华服务器操作系统(arm版)V5.0
普华服务器操作系统(arm版)V5.1及以上
银河麒麟
银河麒麟V4.0.2及以上
湖南麒麟
麒麟操作系统 V3-ARM及以上
移动苏研所
BC-Linux 7.4
BC-Linux 7.6
华为云ECS RC6云服务器
centos
centos 7.4
centos 7.5
centos 7.6
Euler OS
Euler OS 2.8
Fedora
Fedora 29
Ubuntu
ubuntu 18.04
2.2 鲲鹏当前语言兼容性
当前鲲鹏兼容C、C++、golang、JAVA、python、ruby、erlang、Lua、shell、php、perl、kotlin、Js等语言。
2.3 鲲鹏当前应用兼容性
软件类型
能否运行在鲲鹏
鲲鹏软件生态主页已经列举了兼容鲲鹏的常用开源软件列表,也可咨询社区获取ARM v8指令集的兼容情况。
商用软件
咨询软件供应商(ISV)获取ARM v8指令集的兼容情况。
3. 如何在鲲鹏上运行第一个应用
3.1 搭建编译环境
搭建鲲鹏开发环境有三种方式:
方式一:在华为云购买基于鲲鹏芯片的RC6规格云服务器即可。
方式二:在X86平台安装虚拟环境模拟器构建鲲鹏编译环境,如果采用QEMU模拟器,请参考QEMU安装指南。
方式三:在X86平台搭建交叉编译环境,详细指导请参考Linaro GCC编译工具安装指导。
3.2 编译和运行
如果程序源代码由编译类语言如C/C++等编写而成,有如下方式:
方式一:对于采用在华为云购买基于鲲鹏处理器的弹性云服务器(RC6 ECS)的方式,可在ECS云服务器上通过gcc/g++等编译工具编译源代码生成可执行程序 并运行。具体可参考在鲲鹏上使用编程语言-C语言
方式二:对于采用在X86平台上利用交叉编译工具编译的方式,将源代码编译成aarch64平台可执行的程序并拷贝至鲲鹏云服务器运行。具体可参考搭建鲲鹏开发环境中的“linux x86主机上安装目标为鲲鹏服务器的交叉编译环境” 。
方式三:对于采用在X86平台上运行一个兼容ARMv8指令集的模拟环境的方式,在模拟环境中编译成可执行程序,然后将编译的可执行程序拷贝至鲲鹏云服务器运行。
3.3 帮助与分享
对于软件从X86平台移植到鲲鹏平台的问题,您可以参考鲲鹏生态软件,那里汇聚了常用的开源软件的移植指南供参考。另外华为云提供了鲲鹏论坛,您既可以从中寻找资源学习、交流互动、也可以将您的经验和知识共享至论坛。
4. 如何发布鲲鹏应用(正在建设中,敬请期待)
方式对于以镜像形式发布的应用,请参考制作虚拟机镜像
对于以Docker容器形式发布的应用,请参考制作Docker容器镜像
发布应用至鲲鹏云市场
5. 学习与帮助
当前华为云已经提供了鲲鹏社区,您可以在这里学习鲲鹏相关知识和寻求对应的帮助,您也可以将您的经验和知识共享至社区,交流学习和成长。鲲鹏社区即将提供沙箱Openlab环境供您体验和学习鲲鹏,敬请期待。
6. FAQ
(1) 为什么X86上应用不能直接运行在鲲鹏上?
例如,使用C语言编写的一个简单的Hello World程序,在x86_64的机器上编译通过后,将所生成的可执行程序直接拷贝至基于鲲鹏芯片的服务器上去执行,会报文件格式不正确之类的错误从而导致程序无法执行,原因是程序的编译平台和和程序的运行平台不同导致的,x86_64的机器CPU是基于复杂指令集的amd64架构,而基于鲲鹏芯片的服务器的CPU是基于精简指令集的架构的,这两种指令集的执行读取等寻址方式不同,所以两个不同指令集结构的机器,不能相互解释执行。
(2) 鲲鹏能否运行Windows操作系统
暂不支持
(3) 如何判断我的应用是否能运行在鲲鹏上?
请参考上述的鲲鹏兼容性,通过比较应用的目标OS,应用的编程语言鲲鹏是否兼容来确定。
(4) 基于鲲鹏的云服务器价格是否比同等基于X86的优惠?
基于鲲鹏芯片带来的低功耗、低成本等优势,原则上基于鲲鹏的云服务器价格是比同等基于X86的优惠,具体以华为云官网发布信息为准。
鲲鹏
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。