
Wie erstelle ich eine Meteor-App (führe „Meteor Build“ aus) in einem benutzerdefinierten GitLab-Hook? Der benutzerdefinierte Hook wird vom Benutzer „git“ ausgeführt, der anscheinend keine Möglichkeit hat, „Meteor Build“ auszuführen.
Daher möchte ich den Benutzer im Skript in jemanden ändern, von dem ich weiß, dass er die App erstellen kann.
Dies ist meine Bash-Datei bis jetzt:
#!/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 .
Antwort1
su - user
startet eineinteraktivShell mit dem Benutzer user
. Sie sollten Folgendes verwenden:
su -c "cd \"$DEPLOYDIR\"; meteor build ." nodejs
Präparation:
su
: su
ausführbare Datei : als anderer Benutzer
-c "COMMAND"
ausführen : BenutzerCOMMAND
nodejs
nodejs