Предположение 1:
> Uploading artifacts... found 1 matching files and directories
Он нашел одно совпадение. Быть может это именно каталог
${CI_PROJECT_DIR}/tmp/var/www/app
, в котором не обнаружил файл
artifact-$CI_JOB_NAME-$CI_COMMIT_REF_NAME
. Для решения попробовать указать вместо вашего варианта, так. Не понятно как и какой файл создается в этом каталоге, вы этого не показывает, вероятно он просто не подходит под шаблон.
artifacts:
when: always
paths:
- "${CI_PROJECT_DIR}/tmp/var/www/app/*" # именно в кавычках
Предположение 2:
Раннер запускается от своего пользователя, а файл создается от пользователя, под которым запускается процесс в контейнере, как правило, это рут, поэтому имеет смысл попробовать перед docker-compose дать 777 права на этот каталог:
script:
- chmod 777 ${CI_PROJECT_DIR}/tmp/var/www/app
Предположение 3:
Маловероятно, вы же проверили, но на всякий случай проверьте еще раз, смущает частое упоминание /var/www/app в разных вариациях и не уверен, что это один и тот же каталог для хоста и контейнера. Например,
${CI_PROJECT_DIR}/tmp/var/www/app
каталог для раннера это не одно и тоже, что и для контейнера.
И последнее:
Вы монтируете каталог /var/www/app, а создаете ${CI_PROJECT_DIR}/
tmp/var/www/app