fixed and enhanced dbench

This commit is contained in:
chabad360 2018-08-01 19:53:02 -07:00
parent e345671667
commit 3c469b0e4a

57
dbench
View file

@ -1,18 +1,19 @@
#!/bin/bash #!/bin/bash
usage { function usage {
echo "Usage: dbench [-hda [sitename] | --init [-e | -d] [sitename (if not specified, it will default to site1.local)]] [\"<command to be executed on bench inside container>\"]" echo "Usage: dbench [-hda [sitename] | --init [-ed] [sitename] | --setup ] [\"<command to be executed on bench inside container>\"]"
echo '' echo ''
echo 'where:' echo 'where:'
echo ' -h show this help text' echo ' -h show this help text'
echo ' -d [sitename] enables developer mode for specified site' echo ' -d [sitename] enables developer mode for specified site'
echo ' -a adds site-names to /etc/hosts file in the container to facilitate multisite access' echo ' -a adds site-names to /etc/hosts file in the container to facilitate multisite access'
echo ' --init [-e | -d] [sitename] initializes frappe-bench' echo ' --setup starts up and builds docker'
echo ' --init [-e | -d] [sitename] initializes frappe-bench in docker and adds a site "sitename" (if not specified, it will default to site1.local)'
echo ' -e initializes frappe-bench and installs erpnext' echo ' -e initializes frappe-bench and installs erpnext'
echo ' -d initializes frappe-bench and enables developer mode' echo ' -d initializes frappe-bench and enables developer mode'
} }
frappe_installer { function frappe_installer {
echo "starting frappe_docker setup" echo "starting frappe_docker setup"
docker exec -i -u root frappe bash -c "cd /home/frappe && chown -R frappe:frappe ./*" docker exec -i -u root frappe bash -c "cd /home/frappe && chown -R frappe:frappe ./*"
docker exec -it frappe bash -c "cd .. && bench init frappe-bench --ignore-exist --skip-redis-config-generation && cd frappe-bench" docker exec -it frappe bash -c "cd .. && bench init frappe-bench --ignore-exist --skip-redis-config-generation && cd frappe-bench"
@ -27,34 +28,31 @@ frappe_installer {
} }
if [[ $# -eq 0 ]]; then if [[ $# -eq 0 ]]; then
docker exec -it frappe bash "bench $@" docker exec -it frappe bash 'bench $@'
elif [[ $1 == '--init' && $2 == '-e' ]] elif [ $1 == '--init' ]; then
then site=$2
if ! $3 then if ! $2; then set -- "${@:1}" "site1.local"; fi
set -- "${@:1:2}" "site1.local" if ! $3; then set -- "${@:1:2}" "site1.local" && site=$3; fi
if ! $4; then set -- "${@:1:2:3}" "site1.local" && site=$4; fi
frappe_installer $site
if [ $2 == '-e' ]; then
echo "installing erpnext"
docker exec -it frappe bash -c "bench get-app erpnext"
docker exec -it frappe bash -c "bench --site $site install-app erpnext"
echo "finished"
elif [ $2 == '-d' ]; then
docker exec -it -u root frappe bash -c "bench --site $site set-config \"developer_mode\" 1 && bench clear-cache"
elif [ $2 == '-ed' ]; then
echo "installing erpnext"
docker exec -it frappe bash -c "bench get-app erpnext"
docker exec -it frappe bash -c "bench --site $site install-app erpnext"
docker exec -it -u root frappe bash -c "bench --site $site set-config \"developer_mode\" 1 && bench clear-cache"
echo "finished"
fi fi
frappe_installer $3
echo "installing erpnext"
docker exec -it frappe bash -c "bench get-app erpnext"
docker exec -it frappe bash -c "bench --site $3 install-app erpnext"
echo "finished"
elif [[ $1 == '--init' && $2 == '-d' ]]
then
if ! $3 then
set -- "${@:1:2}" "site1.local"
fi
frappe_installer $3
docker exec -it -u root frappe bash -c "bench --site $3 set-config \"developer_mode\" 1 && bench clear-cache"
elif [ $1 == '--init' ]
then
if ! $2 then
set -- "${@:1}" "site1.local"
fi
frappe_installer $2
elif [ $1 == '--setup' ]; then
frappe_installer
else else
while getopts ':had:' option; do while getopts ':had:' option; do
case "$option" in case "$option" in
@ -73,6 +71,7 @@ else
;; ;;
d) d)
docker exec -it -u root frappe bash -c "bench --site $OPTARG set-config \"developer_mode\" 1 && bench clear-cache" docker exec -it -u root frappe bash -c "bench --site $OPTARG set-config \"developer_mode\" 1 && bench clear-cache"
;;
\?) \?)
echo "Invalid option: -$OPTARG" >&2 echo "Invalid option: -$OPTARG" >&2
usage usage