Вопрос с владельцем Shell Runner - PullRequest
1 голос
/ 06 ноября 2019

Я пытаюсь настроить конвейер в моем проекте django с помощью оболочки.

У меня есть 2 задания:

  • одно для создания моего образа
  • одно для запуска тестов.

Первая сборка прошла успешно, но когда во время моей второй работы у меня возникла проблема владение в моей папке заданий:

warning: failed to remove api/__pycache__/resolvers.cpython-37.pyc

Вот моя конфигурация бегуна gitlab:

[[runners]]
  name = "Shell Runner"
  url = "https://gitlab.com"
  token = "<my-token>"
  executor = "shell"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]

Есть ли способ создать отдельные задания для сборки и тестирования без этой проблемы?

1 Ответ

0 голосов
/ 10 ноября 2019

Так что после борьбы с этим я наконец нашел решение.

Когда python устанавливает модули в __pycache__, владельцем является root, поэтому бегун не может удалять эти файлы между каждым заданием.

Чтобы это исправить, я добавил ENV PYTHONDONTWRITEBYTECODE 1 в свои Dockerfile для предотвращения создания __pycache__ файлов.

...