[fix] Fix almost all subcommands (vagrant not tested)

This commit is contained in:
zamentur 2015-10-12 01:50:53 +02:00
parent 1664d1298c
commit a9de666a89

36
ynh-dev
View file

@ -41,14 +41,16 @@ check_yunohost_vm() {
paquets=${@:2} paquets=${@:2}
if [ "$#" = "1" ]; then if [ "$#" = "1" ]; then
paquets=moulinette ssowat yunohost yunohost-admin paquets=('moulinette' 'ssowat' 'yunohost' 'yunohost-admin')
fi fi
BASE_DIR=/yunohost BASE_DIR=/yunohost
if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "help" ]; then if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "help" ]; then
usage usage
elif [ "$1" = "create-env" ]; then elif [ "$1" = "create-env" ]; then
#Create a development environment
pwd=`pwd` pwd=`pwd`
cd $2 cd $2
mkdir -p apps mkdir -p apps
@ -60,52 +62,66 @@ elif [ "$1" = "create-env" ]; then
git clone https://github.com/YunoHost/Dockerfile Dockerfile git clone https://github.com/YunoHost/Dockerfile Dockerfile
git clone https://github.com/zamentur/yunohost-vagrant yunohost-vagrant git clone https://github.com/zamentur/yunohost-vagrant yunohost-vagrant
cp $pwd/$0 ./$0 cp $pwd/$0 ./$0
ln -s yunohost-vagrant/Vagrantfile Vagrantfile
elif [ "$1" = "run" ]; then elif [ "$1" = "run" ]; then
#Run a vm and give a prompt
DOMAIN=$2 DOMAIN=$2
VM=$3 VM=$3
VERSION=$4 VERSION=$4
if [ "$VM" = "docker" ]; then if [ "$VM" = "docker" ]; then
docker exec -t -i $(sudo docker run -h yunohost.$DOMAIN -v $(pwd):/yunohost -d zamentur/yunohost-$VERSION /sbin/init) /bin/bash docker exec -t -i $(sudo docker run -h yunohost.$DOMAIN -v $(pwd):/yunohost -d zamentur/yunohost-$VERSION /sbin/init) /bin/bash
elif [ "$VM" = "virtualbox" ]; then elif [ "$VM" = "virtualbox" ] || [ "$VM" = "vagrant" ]; then
vagrant up $VERSION vagrant up $VERSION
vagrant ssh $VERSION vagrant ssh $VERSION
else else
echo "This kind of VM is not supported" echo "This kind of VM is not supported"
exit 100; exit 100;
fi fi
elif [ "$1" = "setup" ]; then elif [ "$1" = "setup" ]; then
check_yunohost_vm check_yunohost_vm
sudo apt-get install -y inotify-tools sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get install -y inotify-tools net-tools
elif [ "$1" = "deploy" ]; then elif [ "$1" = "deploy" ]; then
check_yunohost_vm check_yunohost_vm
for paquet in $paquets; do for i in ${!paquets[@]}; do
case $paquet in case ${paquets[i]} in
moulinette) moulinette)
# Install moulinette # Install moulinette
cd $BASE_DIR/moulinette cd $BASE_DIR/moulinette
./setup.py install ./setup.py install
cd .. cd ..
echo "moulinette deployed"
;; ;;
ssowat) ssowat)
# Install ssowat # Install ssowat
sed "s@^@cp -Rf --parents $BASE_DIR/@" $BASE_DIR/SSOwat/debian/install | source /dev/stdin sed "s@^@cp -Rf $BASE_DIR/SSOwat/@" $BASE_DIR/SSOwat/debian/install | source /dev/stdin
service nginx restart || echo 'Fail to restart nginx' service nginx stop || true
service nginx start || echo 'Fail to restart nginx'
echo "ssowat deployed"
;; ;;
yunohost) yunohost)
# Install yunohost # Install yunohost
sed "s@^@cp -Rf --parents $BASE_DIR/@" $BASE_DIR/yunohost/debian/install | source /dev/stdin cat ./yunohost/debian/install | awk '{print "mkdir -p " $2}' | source /dev/stdin
sed "s@^@cp -Rf $BASE_DIR/yunohost/@" $BASE_DIR/yunohost/debian/install | source /dev/stdin
service yunohost-api restart || echo 'Fail to restart yunohost-api' service yunohost-api restart || echo 'Fail to restart yunohost-api'
echo "yunohost deployed"
;; ;;
yunohost-admin) yunohost-admin)
# Install yunohost-admin # Install yunohost-admin
sed "s@^@cp -Rf --parents $BASE_DIR/@" $BASE_DIR/yunohost-admin/debian/install | source /dev/stdin sed "s@^@cp -Rf $BASE_DIR/yunohost-admin/@" $BASE_DIR/yunohost-admin/debian/install | source /dev/stdin
echo "yunohost-admin deployed"
;; ;;
esac esac
done done
elif [ "$1" = "watch" ]; then elif [ "$1" = "watch" ]; then
check_yunohost_vm check_yunohost_vm
while inotifywait -r -e close_write $BASE_DIR/moulinette/ $BASE_DIR/ssowat/ $BASE_DIR/yunohost/ $BASE_DIR/yunohost-admin/; do while inotifywait -r -e close_write $BASE_DIR/moulinette/ $BASE_DIR/SSOwat/ $BASE_DIR/yunohost/ $BASE_DIR/yunohost-admin/; do
$BASE_DIR/$0 deploy ${@:2}; $BASE_DIR/$0 deploy ${@:2};
done done