
Как мне собрать приложение meteor (выполнить 'meteor build .') в пользовательском хуке GitLab? Пользовательский хук запускается пользователем git, у которого, похоже, нет возможности запустить meteor build.
Поэтому я хочу изменить пользователя в скрипте на того, кто, как известно, способен создать приложение.
Вот мой bash-файл на данный момент:
#!/bin/sh
#
# The deployed directory
DEPLOYDIR=/var/www/site/
echo " - Starting checkout"
GIT_WORK_TREE="$DEPLOYDIR" git checkout -f
echo " - Finished checkout"
echo " - Starting meteor build"
#not working yet
sudo su - nodejs
cd "$DEPLOYDIR"
meteor build .
решение1
su - user
начинаетинтерактивныйshell с пользователем user
. Вам нужно будет использовать следующее:
su -c "cd \"$DEPLOYDIR\"; meteor build ." nodejs
Вскрытие:
su
: su
исполняемый файл
-c "COMMAND"
: запустить COMMAND
от имени другого пользователя
nodejs
: nodejs
пользователь