在自定义GitLab钩子中构buildmeteor应用程序

如何在GitLab自定义钩子中构buildmeteor应用程序(做'meteor build。')? 自定义挂钩是由用户git运行的,他似乎没有任何可能运行meteor build。

因此,我想将脚本中的用户更改为已知能够构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 . 

su - user与用户user启动交互式 shell。 你将要使用以下内容:

 su -c "cd \"$DEPLOYDIR\"; meteor build ." nodejs 

解剖:

su :可执行文件
-c "COMMAND" :以另一个用户身份运行COMMAND
nodejsnodejs用户