如何在 GitLab 自定义钩子中构建 Meteor 应用程序(执行“meteor build。”)?自定义钩子由用户 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