1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#!/bin/sh
BATCHDATEI="build/uploadbatch"
LOCAL="build/distributions"
REMOTE="upload"
STATUSDATEI="build/upload.status"
COMMITDATEI="build/gitcommithash.txt"
PORT="22"
ADRESSE="deploy@mediathekview.de"
KEYFILE="scripte/deploy/deploy.key"
echo "Deploy zu Hauptserver";
# Rechte am Key nur dem Benutzer geben, ansonsten meckert ssh
chmod 600 $KEYFILE
if [ "$1" = "nightly" ]; then
echo "Deploye nightly Build mit commit '$2'"
echo 2 > $STATUSDATEI
echo $2 > $COMMITDATEI
else
echo 1 > $STATUSDATEI
fi
# Ins Verzeichnis wechseln Befehl
echo "cd $REMOTE" >> $BATCHDATEI
for i in `ls -x -1 $LOCAL`; do
# einzelne fertige Dateien hochladen
echo "put $LOCAL/$i" >> $BATCHDATEI
done
echo "cd ../" >> $BATCHDATEI
if [ "$1" = "nightly" ]; then
echo "put $COMMITDATEI" >> $BATCHDATEI
fi
# Upload fertig bestätigen
echo "put $STATUSDATEI" >> $BATCHDATEI
echo "exit" >> $BATCHDATEI
# SFTP Batchdatei ausführen
sftp -b $BATCHDATEI -o PubkeyAuthentication=yes -o IdentityFile=$KEYFILE -o Port=$PORT $ADRESSE
# Aufräumen
rm $BATCHDATEI $STATUSDATEI
|