Это оказалось проще, чем я ожидал, и не имело ничего общего с Gitlab CI, но с правами доступа к файлам.
Я передал --chmod=Du+rwx,Dgo-rwx,u+rw,go-rw
в rsync
, что выглядело действительно безопасно, потому что только пользователь может делать вещи,Признаюсь, что я, вероятно, скопировал его откуда-то в Интернете.Но затем файлы монтируются в контейнер Docker, и там у них также есть эти разрешения:
-rw------- 1 1005 1004 314 May 8 15:48 100-create-database.sql
На хосте, который мой пользователь gitlab-ci владеет этими файлами, они, очевидно, также принадлежат некоторому пользователюс идентификатором 1005 в контейнере, и никакие разрешения не предоставляются другим пользователям, кроме этого.
Внутри контейнера пользователь, который делает что-то, хотя и postgres
, но не может читать эти файлы.Вместо того, чтобы жаловаться на это, он просто игнорирует их.Это может быть чем-то, что может создать проблему о…
Теперь, когда я передаю --chmod=D755,F644
, это выглядит так:
-rw-r--r-- 1 1005 1004 314 May 8 15:48 100-create-database.sql
и в журналах докера написано
/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/100-create-database.sql
Во-первых, слишком легко придумать: - /