Gitlab Runner не может использовать кеш с Minio - PullRequest
0 голосов
/ 20 февраля 2020

Я установил собственный хостинг Gitlab с помощью диаграммы Хелма в кластере Kubernetes. Все работает нормально, кроме одной вещи: кеш.

В моем .gitlab-ci.yml файле у меня есть

cache:
  paths:
    - .m2/repository/
    - target/

Но при запуске задания у меня появляется предупреждение при попытке загрузить кеш:

WARNING: Retrying...                                
error=Get https://minio.mydomain.com/runner-cache/gitlab-runner/project/6/default?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=xxx: x509: certificate signed by unknown authority

И при загрузке у меня есть:

WARNING: Retrying...                                error=received: 501 Not Implemented
Uploading cache.zip to https://minio.mydomain.com/runner-cache/gitlab-runner/project/6/default 
FATAL: received: 501 Not Implemented   

Но сертификат предоставляется LetsEncrypt, поэтому он не является неизвестным органом. Когда я go на minio.mydomain.com, я вижу, что соединение защищено

enter image description here

Я также проверяю, использует ли бегун правильные учетные данные, и да, это так.

Я немного потерян здесь. Любые намеки приветствуются.

Спасибо.

1 Ответ

0 голосов
/ 20 февраля 2020

Вам необходимо добавить ЦС к образу, на котором размещен кэш.

Вы можете следовать этим инструкциям из этого файла gitlab , для обходного пути:

Обновите вспомогательный образ, чтобы цепочка ca для самозаверяющего сертификата была доверенной.

FROM gitlab/gitlab-runner-helper:x86_64-latest

RUN apk add --no-cache ca-certificates

COPY ca.crt /usr/local/share/ca-certificates/ca.crt

RUN update-ca-certificates

RUN rm /usr/local/share/ca-certificates/ca.crt

docker build -t registry.gitlab.com/namespace/project/tools/gitlab-runner-helper:$SOME_TAG

Переопределите вспомогательное изображение, используемое GitLab обновив config.toml, чтобы использовать образ, который вы только что создали с правильным доверенным центром сертификации.

Если вы используете таблицу управления, вы можете определить KUBERNETES_HELPER_CPU_LIMIT переменную среды и определить ее в envVars

Надеюсь, это поможет.

...