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

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

如何在 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

解剖:

susu可执行文件:以其他用户身份
-c "COMMAND"运行:用户COMMAND
nodejsnodejs

相关内容