Триггер Cloud Build изменяет права доступа к файлам и прерывает docker кеширование - PullRequest
0 голосов
/ 06 мая 2020

Я использую google-cloud-build в качестве CI, чтобы проверить, нарушает ли PR сборку или нет.

Сборка в основном создает образ Docker. Чтобы сократить время сборки, я пытаюсь использовать функцию dockers --cache-from, но у меня это не получается на COPY ..., потому что при использовании Github App trigger большинство прав доступа к файлам по какой-то причине изменяются. При использовании Github trigger этой проблемы не возникает, но я не могу активировать ее по PR, как указано здесь .

Есть ли способ запретить облачную сборку для изменения прав доступа к файлам при использовании Github App trigger? есть ли другой способ решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 19 мая 2020

После некоторого тестирования я обнаружил, что на самом деле Cloud Build не изменяет права доступа к файлам. Они сохранены из источника, откуда Cloud Build получает ресурсы, но я обнаружил, что кажется, что GitHub изменяет эти разрешения.

У меня было 2 файла с разрешениями -r--r--r--, и когда я отправил их на GitHub затем в Cloud Build я увидел, что эти файлы имеют разрешения -rw-rw-r--. Затем, чтобы убедиться, что происходит, я клонировал репо на другом сайте, и файлы, которые были извлечены из репо, имели разрешения -rw-rw-r--. Итак, причина, похоже, в GitHub.

Как вы упомянули в своем ответе, лучший подход - изменить разрешения во время сборки.

0 голосов
/ 06 мая 2020

На данный момент мы решили, что это нормально, и если мы хотим указать c права доступа к файлу, мы вручную установим их в файле docker, используя RUN chmod ...

...