カスタム GitLab フックで Meteor アプリをビルドする

カスタム GitLab フックで Meteor アプリをビルドする

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
nodejsnodejs

関連情報