制作一个能构建 dotnet AOT 的 gitlab runner 的 Debian docker 镜像
💡
原文中文,约15600字,阅读约需38分钟。
📝
内容提要
本文介绍了在Debian Docker镜像中构建dotnet AOT应用的方法,并配置GitLab Runner进行自动构建。作者使用了debian:buster-slim镜像,并安装了必要的依赖。然后下载了dotnet 8和dotnet 6的sdk压缩包,并解压到docker镜像中。接下来配置了GitLab Runner,并将配置文件打入docker镜像中。最后,作者提供了一些踩坑记录和解决方法。
🎯
关键要点
- 需求是构建 dotnet AOT 包的环境,解决 glibc 兼容依赖,支持 x64 和 arm64 包,能与 gitlab runner 对接。
- 使用 debian:buster-slim 镜像,替换为阿里源以提升拉取速度。
- 安装必要的依赖,包括 libicu-dev、libssl-dev、clang、llvm、gcc-aarch64-linux-gnu 等。
- 下载 dotnet 8 和 dotnet 6 的 sdk 压缩包,并解压到 docker 镜像中。
- 配置环境变量以便全局使用 dotnet 命令。
- 配置 gitlab runner,使用二进制压缩包并设置权限。
- 通过 docker 构建和运行镜像,注册 gitlab runner 并保存配置文件。
- 在 dockerfile 中添加已注册的 gitlab runner 配置,设置入口为 gitlab-runner run。
- 使用 podman 工具替代 docker desktop 进行构建和运行。
- 记录构建过程中的问题及解决方法,包括 glibc 版本不兼容、源配置错误等。
- 使用交叉编译技术在 x64 系统上构建 arm64 应用。
- 在 .gitlab-ci.yml 文件中指定构建任务,确保成功构建出可执行文件。
➡️