
GitLab カスタム フックで meteor アプリをビルドするには (「meteor build .」を実行)、どうすればよいでしょうか。カスタム フックは、meteor build を実行する可能性がないと思われるユーザー git によって実行されます。
したがって、スクリプト内のユーザーを、アプリをビルドできることがわかっているユーザーに変更したいと思います。
これはこれまでの私の 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
開始する相互の作用シェルをユーザーとして実行しuser
ます。次のように使用します。
su -c "cd \"$DEPLOYDIR\"; meteor build ." nodejs
解剖:
su
:su
実行可能:別のユーザーとして
-c "COMMAND"
実行:ユーザーCOMMAND
nodejs
nodejs