- GitLab (Hint:
/help
): 15.9.8 Self-managed
We are configuring a CI/CD flow to deploy an application on a Raspberry PI. For this we have configured a runner on a ubuntu server. The issue is that we are having problems for this deployment to work because the device’s architecture is arm64. We are getting an error when creating the image that we save in the registry container that doesn’t give us much information to be able to debug:
However, we have noticed that configuring the gitlab Runner on a PC located in our lab, the whole deployment works. We find it very strange since the only difference between both computers is that the PC has Windows as operating system, and the VM is an ubuntu server, but both runners run on Docker, so we don’t think that should matter.
These are the gitlab-ci.yml and the Dockerfile:
release_container_registry:
stage: build
tags:
- SecDelivAutoIoT
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"${CI_REGISTRY}\":{\"auth\":\"$(printf "%s:%s" "${CI_REGISTRY_USER}" "${CI_REGISTRY_PASSWORD}" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
- >-
/kaniko/executor
--context "${CI_PROJECT_DIR}/"
--dockerfile "${CI_PROJECT_DIR}/Dockerfile"
--destination "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}"
FROM arm64v8/python:3.13-rc-slim-bookworm
WORKDIR /app
COPY helloworld.py .
RUN pip install flask
EXPOSE 3000
CMD [ "python", "app.py" ]
We think that the problem might have something to do with the architecture, as if we use the image python:3.13-rc-slim-bookworm (without arm64v8) it works, but then the app doesn’t run on the Raspberry (because of the architecture). But both runners seem to be identical:
Runner #1271 is the one that works fine. We can see that the gitlab-runner version is not the same (16.0.1 vs 16.1.0) but it doesn’t seem important in this case. The only difference is the Platform, but both are set up to run on docker.
Is there something we are not seeing?
Thanks,
Joel