Hi, team

Happy New Year.

Recently, I'm working on some PoC for providing an arm64-based devlake
release, mentioned in [Question][Docker Image] ARM version · Issue #4016 ·
apache/incubator-devlake (github.com)
<https://github.com/apache/incubator-devlake/issues/4016>.
Currently, the main branch uses alpine as a base image, as alpine does not
provide perfect cross-compile toolchains, as we need libgit2, which
requires CGO in go and also needs to compile it from source (1.3
currently).  And Debian could provide perfect cross-compile toolchains. I
suggest we use Debian as the base image in an official release.

Before that PR starting, I want here more comments and suggestions from
teams, as this change will impact the base image we select.

In this PoC, feat: try build multi-arch docker images for amd64 and arm64 ·
matrixji/incubator-devlake@e07f69b (github.com)
<https://github.com/matrixji/incubator-devlake/commit/e07f69b62f1edc96bf4aae2ad84ba8abd8008a3c>
I
summarise the changes below:
- Use docker's action to build and push images, and describe all things in
one Dockerfile, maybe in the final PR, It could be separated into several
images like builder-image, base-image
- We will use buildx for build docker images, which requires BUILD_KIT
enabled while the developer builds images locally.
- Use Debian as the base image, as it provides perfect cross-compiling
toolchains. Which will increase the final image's size ( <100MB), from
500MB+ to 600MB+.

Waiting for your comments about it.

BRs, Ji Bin.

Reply via email to