mirror of
https://github.com/YunoHost/ynh-dev.git
synced 2024-09-03 20:05:59 +02:00
[enh] start dockerd daemon if needed
This commit is contained in:
parent
0f50d2ed37
commit
ea7645f99d
1 changed files with 35 additions and 18 deletions
53
ynh-dev
53
ynh-dev
|
@ -11,7 +11,7 @@ Usage :
|
|||
Run a docker or virtualbox vm
|
||||
`basename $0` kill VM
|
||||
Kill the last docker or all vagrant
|
||||
|
||||
|
||||
Inside the vm
|
||||
`basename $0` ip
|
||||
Give the ip of the guest container
|
||||
|
@ -21,17 +21,17 @@ Usage :
|
|||
Deploy sources to test it
|
||||
`basename $0` watch [PAQUET [PAQUET ...]]
|
||||
Deploy sources each time there is change
|
||||
|
||||
|
||||
PAQUET :
|
||||
moulinette
|
||||
ssowat
|
||||
yunohost
|
||||
yunohost-admin
|
||||
|
||||
|
||||
VM
|
||||
docker
|
||||
virtualbox
|
||||
|
||||
|
||||
VERSION
|
||||
stable8
|
||||
testing8
|
||||
|
@ -50,16 +50,23 @@ check_yunohost_vm() {
|
|||
fi
|
||||
}
|
||||
|
||||
start_dockerd() {
|
||||
status=`sudo service docker status`
|
||||
if [ "$status" = "docker stop/waiting" ]; then
|
||||
sudo service docker start
|
||||
fi
|
||||
}
|
||||
|
||||
paquets=${@:2}
|
||||
if [ "$#" = "1" ]; then
|
||||
paquets=('moulinette' 'ssowat' 'yunohost' 'yunohost-admin')
|
||||
fi
|
||||
|
||||
BASE_DIR=/yunohost
|
||||
BASE_DIR=./
|
||||
|
||||
if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "help" ]; then
|
||||
usage
|
||||
|
||||
|
||||
elif [ "$1" = "create-env" ]; then
|
||||
#Create a development environment
|
||||
pwd=`pwd`
|
||||
|
@ -73,15 +80,22 @@ elif [ "$1" = "create-env" ]; then
|
|||
git clone https://github.com/YunoHost/Dockerfile Dockerfile
|
||||
git clone https://github.com/zamentur/yunohost-vagrant yunohost-vagrant
|
||||
cp $pwd/$0 ./$0
|
||||
ln -s yunohost-vagrant/Vagrantfile Vagrantfile
|
||||
|
||||
ln -s yunohost-vagrant/Vagrantfile Vagrantfile
|
||||
|
||||
elif [ "$1" = "run" ]; then
|
||||
#Run a vm and give a prompt
|
||||
DOMAIN=$2
|
||||
VM=$3
|
||||
VERSION=$4
|
||||
|
||||
VM='docker'
|
||||
VERSION='stable8'
|
||||
if [ "$#" = "3" ]; then
|
||||
VM=$3
|
||||
elif [ "$#" = "4" ]; then
|
||||
VM=$3
|
||||
VERSION=$4
|
||||
fi
|
||||
|
||||
if [ "$VM" = "docker" ]; then
|
||||
start_dockerd
|
||||
docker exec -t -i $(sudo docker run -h yunohost.$DOMAIN -v $(pwd):/yunohost -d zamentur/yunohost-$VERSION /sbin/init) /bin/bash
|
||||
elif [ "$VM" = "virtualbox" ] || [ "$VM" = "vagrant" ]; then
|
||||
vagrant up $VERSION
|
||||
|
@ -90,27 +104,30 @@ elif [ "$1" = "run" ]; then
|
|||
echo "This kind of VM is not supported"
|
||||
exit 100;
|
||||
fi
|
||||
|
||||
|
||||
elif [ "$1" = "kill" ]; then
|
||||
VM=$2
|
||||
if [ "$VM" = "docker" ]; then
|
||||
docker kill $(docker ps -lq)
|
||||
elif [ "$VM" = "virtualbox" ] || [ "$VM" = "vagrant" ]; then
|
||||
vagrant destroy
|
||||
elif [ "$VM" = "" ]; then
|
||||
vagrant destroy -f
|
||||
docker kill $(docker ps -lq)
|
||||
else
|
||||
echo "This kind of VM is not supported"
|
||||
exit 100;
|
||||
fi
|
||||
fi
|
||||
elif [ "$1" = "upgrade" ]; then
|
||||
check_yunohost_vm
|
||||
sudo apt-get update
|
||||
sudo apt-get -y upgrade
|
||||
sudo apt-get -y dist-upgrade
|
||||
sudo apt-get -y dist-upgrade
|
||||
sudo apt-get install -y inotify-tools net-tools
|
||||
elif [ "$1" = "ip" ]; then
|
||||
check_yunohost_vm
|
||||
sudo apt-get install -y net-tools
|
||||
/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
|
||||
/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
|
||||
elif [ "$1" = "deploy" ]; then
|
||||
check_yunohost_vm
|
||||
for i in ${!paquets[@]}; do
|
||||
|
@ -131,7 +148,7 @@ elif [ "$1" = "deploy" ]; then
|
|||
;;
|
||||
yunohost)
|
||||
# Install yunohost
|
||||
cat ./yunohost/debian/install | awk '{print "mkdir -p " $2}' | source /dev/stdin
|
||||
cat $BASE_DIR/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'
|
||||
echo "yunohost deployed"
|
||||
|
@ -146,8 +163,8 @@ elif [ "$1" = "deploy" ]; then
|
|||
elif [ "$1" = "watch" ]; then
|
||||
check_yunohost_vm
|
||||
sudo apt-get install -y inotify-tools
|
||||
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};
|
||||
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};
|
||||
done
|
||||
else
|
||||
usage
|
||||
|
|
Loading…
Reference in a new issue