drun changes
This commit is contained in:
parent
d2dbeece34
commit
40f8ea1541
53
bin/drun
53
bin/drun
@ -5,7 +5,7 @@ source $ENV_DIR/bin/denv_msg
|
||||
drun() {
|
||||
if [ $# -lt 1 ]; then
|
||||
denv_error_msg "Verwendung: drun [system] <docker-compose command>"
|
||||
return 1
|
||||
return;
|
||||
fi
|
||||
|
||||
local SYSTEMS_CONFIG="$ENV_DIR/.systems"
|
||||
@ -24,13 +24,13 @@ drun() {
|
||||
|
||||
if [ -z "$SYSTEM_PATH" ]; then # You are NOT in a configured system directory (though in a subdirectory of dev-env/systems).
|
||||
denv_error_msg "$CURRENT_DIRECTORY is not a configured dev-env system path.\nPlease register the system in $ENV_DIR/.systems, navigate to a registered system, or provide a system identifer as the first parameter of drun."
|
||||
return 1
|
||||
return;
|
||||
else # You are in a configured system directory
|
||||
SYSTEM_IDENTIFIER=$(grep "$ASSUMED_SYSTEM_PATH" "$SYSTEMS_CONFIG" | cut -d' ' -f1)
|
||||
fi
|
||||
else
|
||||
denv_error_msg "$CURRENT_DIRECTORY is not a subdirectory of $ENV_DIR/systems.\nPlease navigate to a configured system, or provide a system identifer as the first parameter of drun."
|
||||
return 1
|
||||
return;
|
||||
fi
|
||||
|
||||
else # First Parameter is a valid system identifier
|
||||
@ -45,49 +45,32 @@ drun() {
|
||||
# Set .env variables if a file exist
|
||||
if [[ ! -f "$DOCKER_COMPOSE_FILE" ]]; then
|
||||
denv_error_msg "$DOCKER_COMPOSE_FILE was not found. Have you run init yet?"
|
||||
return 1
|
||||
return;
|
||||
fi
|
||||
|
||||
denv_info_msg "[$SYSTEM_IDENTIFIER]: $DOCKER_EXEC_COMMAND"
|
||||
|
||||
APP_CONTAINER=$(docker compose -f "$DOCKER_COMPOSE_FILE" config --services | grep 'app')
|
||||
|
||||
if [[ ! -z "$APP_CONTAINER" ]] ; then
|
||||
denv_info_msg "App Container: '$APP_CONTAINER'"
|
||||
CONTAINER_ID=$(docker ps -qf "name=$APP_CONTAINER")
|
||||
|
||||
if [[ -t 0 && -t 1 ]]; then
|
||||
if [[ -f "$SYSTEM_ENV_FILE" ]] ; then
|
||||
export $(grep -v '^#' "$SYSTEM_ENV_FILE" | xargs)
|
||||
fi
|
||||
|
||||
APP_CONTAINER=$(docker compose -f "$DOCKER_COMPOSE_FILE" config --services | grep 'app')
|
||||
|
||||
if [[ -z "$APP_CONTAINER" ]] ; then
|
||||
denv_error_msg "App Container not found in '$DOCKER_COMPOSE_FILE'"
|
||||
else
|
||||
denv_info_msg "App Container: '$APP_CONTAINER'"
|
||||
fi
|
||||
|
||||
|
||||
if [[ -t 0 && -t 1 ]]; then
|
||||
denv_echo_msg "docker compose -it"
|
||||
docker compose -f "$DOCKER_COMPOSE_FILE" exec -it $APP_CONTAINER $DOCKER_EXEC_COMMAND
|
||||
else
|
||||
denv_echo_msg "docker compose"
|
||||
docker compose -f "$DOCKER_COMPOSE_FILE" exec -T $APP_CONTAINER $DOCKER_EXEC_COMMAND
|
||||
fi
|
||||
denv_echo_msg "docker exec -it"
|
||||
docker exec -it "$CONTAINER_ID" $DOCKER_EXEC_COMMAND
|
||||
|
||||
# Unset .env variables if a file exist
|
||||
if [[ -f "$SYSTEM_ENV_FILE" ]] ; then
|
||||
unset $(grep -v '^#' "$SYSTEM_ENV_FILE" | sed -E 's/(.*)=.*/\1/' | xargs)
|
||||
fi
|
||||
else
|
||||
denv_echo_msg "docker compose"
|
||||
docker exec "$CONTAINER_ID" $DOCKER_EXEC_COMMAND
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
_drun_completion() {
|
||||
local cur prev opts
|
||||
COMPREPLY=()
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
opts="start stop restart status"
|
||||
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
}
|
||||
|
||||
complete -F _drun_completion drun
|
||||
2
build
2
build
@ -3,7 +3,7 @@
|
||||
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
source $ENV_DIR/bin/denv_msg
|
||||
|
||||
denv_info_msg "Executing build dev-env"
|
||||
denv_info_msg "[dev-env]: build"
|
||||
docker compose -f "$ENV_DIR/docker/docker-compose.yml" build
|
||||
echo ""
|
||||
|
||||
|
||||
2
down
2
down
@ -7,5 +7,5 @@ source $ENV_DIR/bin/denv_msg
|
||||
$ENV_DIR/script/foreachSystem/dcom down
|
||||
echo ""
|
||||
|
||||
denv_info_msg "Executing down dev-env"
|
||||
denv_info_msg "[dev-env]: down"
|
||||
docker compose -f "$ENV_DIR/docker/docker-compose.yml" down
|
||||
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
COMMAND="$@"
|
||||
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../.." &> /dev/null && pwd )
|
||||
CONFIG_FILE="$ENV_DIR/.systems"
|
||||
COMMAND="$@"
|
||||
|
||||
source $ENV_DIR/bin/denv_msg
|
||||
|
||||
@ -20,19 +20,18 @@ while IFS=' ' read -r IDENTIFIER DIRECTORY GIT; do
|
||||
continue
|
||||
fi
|
||||
|
||||
denv_info_msg "[$IDENTIFIER]: $COMMAND"
|
||||
SYSTEM_SCRIPT_DIRECTORY=$(realpath "$ENV_DIR/systems/$DIRECTORY/bin/script")
|
||||
COMMAND_PATH="$SYSTEM_SCRIPT_DIRECTORY/$COMMAND";
|
||||
COMMAND_PATH="$SYSTEM_SCRIPT_DIRECTORY/$COMMAND"
|
||||
|
||||
# Check if system directory already exists
|
||||
if [ ! -f "$COMMAND_PATH" ]; then
|
||||
denv_error_msg "$COMMAND_PATH not found."
|
||||
exit 1
|
||||
else
|
||||
denv_echo_msg "Executing $COMMAND..."
|
||||
$COMMAND_PATH
|
||||
continue
|
||||
fi
|
||||
denv_info_msg "System $IDENTIFIER done"
|
||||
|
||||
denv_info_msg "[$IDENTIFIER]: $COMMAND"
|
||||
$COMMAND_PATH
|
||||
denv_success_msg "[$IDENTIFIER]: $COMMAND completed successfully"
|
||||
echo ""
|
||||
|
||||
done < "$CONFIG_FILE"
|
||||
|
||||
2
stop
2
stop
@ -6,5 +6,5 @@ source $ENV_DIR/bin/denv_msg
|
||||
$ENV_DIR/script/foreachSystem/dcom stop
|
||||
echo ""
|
||||
|
||||
denv_info_msg "Executing stop dev-env"
|
||||
denv_info_msg "[dev-env] stop"
|
||||
docker compose -f "$ENV_DIR/docker/docker-compose.yml" stop
|
||||
Loading…
Reference in New Issue
Block a user