Я использую jenkins для непрерывной интеграции с угловым cli, вот мои шаги:
npm install
и ng build
Все прекрасно до здесь.
Моя проблема состоит в том, когда я пытаюсь скопировать всю сборку файлов в /var/lib/jenkins/workspace/mywebsite/dist
кому: /var/www/html/mywebsite
Этим каталогом управляет Nginx.
У меня есть эта ошибка: cp: cannot create regular file '/var/www/html/mywebsite/./inline.bundle.js': Permission denied
Кто-то может помочь мне?
Спасибо
К сожалению, Вы не можете только легко скопировать данные. Скорее почему бы не позволить NGINX пойти выбирают данные через символьную ссылку?
Создайте символьную ссылку целевого каталога сборки в /var/www
вместо этого:
sudo mv /var/www/html /var/www/html.old
sudo ln -s /var/lib/jenkins/workspace/mywebsite/dist /var/www/html
Это должно, предполагая, что NGINX может также считать данные в /var/lib/jenkins/workspace/mywebsite/dist
папка, обойдите потребность позволить Jenkins непосредственно скопировать вещи в папку вне ее управления.
Обратите внимание, что я настоятельно рекомендую, чтобы Вы использовали /var/www/domain.tld
, замена domain.tld
с Вашим фактическим сайтом, и затем используют это для корня документа в nginx
конфигурация сайта вместо /var/www/html
. Существует запись Ловушек Конфигурации NGINX о потенциальных проблемах использования корня документа по умолчанию, который релевантен здесь. Это конкретно указывает:
Использование корня документа по умолчанию
Пакеты NGINX, которые существуют в Ubuntu, Debian или других операционных системах, как легкий к установке пакет, будут часто обеспечивать конфигурационный файл 'по умолчанию' как пример методов конфигурации и будут часто включать корень документа для содержания основного файла HTML.
Большинство этих упаковочных систем не проверяет, чтобы видеть, изменяются ли файлы или существуют в корне документа по умолчанию, который может привести к потере кода, когда пакеты обновлены. Опытные системные администраторы знают, что нет никакого ожидания данных в корне документа по умолчанию, чтобы остаться нетронутым во время обновлений.
Вы не должны использовать документ по умолчанию, поддерживают любые критические по отношению к сайту файлы. Нет никакого ожидания, что корень документа по умолчанию оставит нетронутым система и существует чрезвычайно высокая возможность, что Ваши критические данные сайта могут быть потеряны после обновлений и обновлений пакетов NGINX для Вашей операционной системы.