когда я пытаюсь заставить Дженкинса сделать это
Убедитесь, что задание Jenkins на самом деле выполняется как jenkins
: добавьте шаг в задание для печати id -a
.
Скорее всего: оно выполняется не как Jenkins, а как ваша основная учетная запись, которая не имеет права писать в этом папка.
"невозможно создать каталог данных пользователя": возможно, 1766 – это идентификатор учетной записи пользователя, созданной в качестве пользователя.
Проверьте, создаете ли (в качестве основной учетной записи) эту папку 1766
с chmod 777 (для тестирования) помогает.
Обратите внимание, что в hugo issue 3143 упоминается:
Снапы доступны только для чтения в целях безопасности. Мы хотим, чтобы враждебная сторона не смогла незаметно изменить программное обеспечение на вашем компьютере, чтобы вы не могли изменить оснастку, установленную в вашей системе. Это также означает, что вы всегда можете проверить подпись на снапе, даже спустя много времени после его установки, чтобы убедиться, что это именно то программное обеспечение, которое вы планировали. Если вы хотите изменить оснастку, вы обычно можете создать свою собственную версию, особенно если она с открытым исходным кодом.
Итак, куда снап может записывать данные? Каждая оснастка получает собственный набор доступных для записи каталогов, которые имеют определенные свойства. Есть два каталога, в которые snap может писать независимо от пользователя. Один из них версионный — каждый раз при обновлении снапа данные сохраняются, и новая версия снапа может обновить свою копию. Другой «общий» каталог данных не имеет версии и используется для больших блоков данных, которые вы не хотите дублировать в разных версиях снапа:
/var/snap/<name>/current/ ← $SNAP_DATA is the versioned snap data directory
/var/snap/<name>/common/ ← $SNAP_COMMON will not be versioned on upgrades
Как правило, в одном из них хранится конфигурация вместе с общесистемными данными для Snap.
Также существуют эквивалентные два каталога с возможностью записи для каждого снимка в доме пользователя, которые можно использовать для хранения данных снимка, специфичных для того или иного пользователя, отдельно:
~/snap/<name>/current/ ← $SNAP_USER_DATA that can be rolled back
~/snap/<name>/common/ ← $SNAP_USER_COMMON unversioned user-specific data
Вы можете использовать snap-версию Hugo для записи (т. е. запуска hugo new site
и т. д.) в любом месте вашего каталога $HOME
, скажем, ~/tmp/htest
, но не в общесистемном каталоге /tmp
.
Это соответствует разделу "Hugo Install from snap":
Hugo-as-a-snap может записывать только в каталог $HOME пользователя — и каталоги, смонтированные через gvfs, принадлежащие пользователю — из-за модели ограничения и безопасности Snaps.
Используйте sudo snap install hugo --classic
, чтобы отключить модель безопасности по умолчанию, если вы хотите, чтобы hugo
мог иметь доступ на запись по другим путям, кроме пользовательского каталога $HOME
.
person
VonC
schedule
11.05.2018