LoginSignup
1
0

GitLab RunnerでQEMUを使ってクロスコンパイルする際のエラー対策

Posted at

はじめに

  • GitLab RunnerでQEMUを使った際にエラーが出たのでその対策のメモ

環境

  • GitLab Runner
  • QEMU (qemu-user-static)

解決したい問題

  • GitLab Runner上で、QEMUを使ってクロスコンパイルする際に、sh:write errorが出て、CIが止まってしまう問題

解決策

Dockerビルドの例


docker-build:
  stage: build
  before_script:
    - QEMU_COMMAND="docker run --rm --privileged multiarch/qemu-user-static --reset -p yes"
    - until ${QEMU_COMMAND};do sleep 1;done
  script:
    - docker buildx build .
  • ポイント
    • before_scriptで、qemu-user-staticの実行コマンド「docker run --rm xxx」を成功するまで繰り返す。

まとめ

qemu-user-staticの実行コマンド「docker run --rm xxx」を成功するまで繰り返すことで、エラーを回避できた。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0