首页 > 解决方案 > 如何在 ARM 架构(QEMU)上加速 G++ 编译

问题描述

在我的一个基于 docker 的项目中,我使用QEMU为两个图像构建编译Mod 安全性BASE_ARCH

这是docker_arm工作

docker_arm:
  stage: build
  image: docker:19.03.1
  services:
    - docker:dind
  before_script: 
    - echo $CI_JOB_TOKEN | docker login -u gitlab-ci-token --password-stdin $CI_REGISTRY
    - apk update
    - apk add -q qemu
    - echo 'Building $CI_PROJECT_NAME'
  script: 
    - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
    - docker build --build-arg BASE_ARCH=arm64v8 -t $CI_PROJECT_NAME:arm64v8-latest ./src
    - docker tag $CI_PROJECT_NAME:arm64v8-latest $CI_REGISTRY/zar3bski/$CI_PROJECT_NAME:arm64v8-latest
    - docker push $CI_REGISTRY/zar3bski/$CI_PROJECT_NAME:arm64v8-latest

我想知道我是否可以调整G++qemu以加快速度,这样这项工作就可以通过了。我知道,因为 QEMU 模拟 ARM64/V8 架构,我永远无法获得原生性能。我所寻找的只是让工作成功(即使它需要 40 分钟)。在您看来,以下哪个选项更有可能提供稳定的管道:

编辑

似乎无法image: arm64v8/docker:19.03.1在 Gitlab 共享运行器上运行

标签: armgitlabg++qemu

解决方案


推荐阅读