]> git.nbdom.net Git - nb.git/commitdiff
profile.d
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Sat, 12 Nov 2016 20:36:01 +0000 (20:36 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Sat, 12 Nov 2016 20:36:01 +0000 (20:36 +0000)
etc/profile.d/docker.sh
etc/profile.d/git.sh
etc/profile.d/openssl.sh
etc/profile.d/pg.sh
etc/profile.d/php.sh
etc/profile.d/puppet.sh

index 2b6c05e15e0a2e013c8ad85aa64a76d30173ba7a..afab6f5528b607312a07296d001ec7199875abf2 100644 (file)
@@ -1,7 +1,61 @@
+which docker > /dev/null || return 0
+
 if [ -z "$MYVIMRC" ]; then
   [ -z "$DOCKER_CERT_PATH" -o ! -e "$DOCKER_CERT_PATH" ] && which docker-machine>/dev/null && docker-machine ls -q 2>/dev/null |grep -qFm1 docker && eval "$(docker-machine env docker)" 2>/dev/null
 fi
 
+_docker_name() {
+  if [ -n "$1" -a -e "$1" ]; then
+    cd "$1" 1>&2 || return 1
+    shift
+  elif [ -e Dockerfile ]; then
+    [ 1 = 1 ]
+  fi
+  basename $(pwd)
+}
+
+docker_build() {
+  local docker_name=$(_docker_name "$1") || return; shift
+  [ -e Dockerfile ] || exec echo "Dockerfile missing in $(pwd)" 1>&2
+
+  if [ -n "$(docker images -q $docker_name 2>/dev/null)" ]; then
+    echo "$docker_name already build."
+    return 1
+
+  else
+    perl -ne '/^\s*\#\s*DOCKER_BUILD\s*(.*?)$/ and system "$1"' Dockerfile
+    docker build --rm --force-rm=true -t $docker_name .
+
+    if [ "$?" != 0 ]; then
+      docker rmi -f $(docker images -qf "dangling=true")
+      echo "Review your Docker file"
+      return 1
+    fi
+  fi
+
+  return 0
+}
+
+docker_run() {
+  local docker_name=$(_docker_name "$1") || return
+  [ -n "$1" -a -d "$1" ] && cd "$1"
+  shift
+  perl -ne '/^\s*\#\s*DOCKER_RUN\s*(.*?)$/ and $RUN=1 and system "$1"; END{exit ($RUN ? 0 : 1)}' Dockerfile && return
+  docker run --rm -it --name $docker_name --hostname $docker_name $@ $docker_name
+}
+
+docker_clean() {
+  local images=$(docker images -qf "dangling=true")
+  [ -n "$images" ] && docker rmi -f $images | sed "s/^/images /"
+
+  local volumes=$(docker volume ls -qf dangling=true)
+  [ -n "$volumes" ] && docker volume rm $volumes | sed "s/^/volumes /"
+
+  local containers=$(docker ps -f status=dead -f status=exited -f status=created -aq)
+  [ -n "$containers" ] && docker rm -vf $containers | sed "s/^/containers /"
+}
+
+#[ -n "$containers" -a -n "$volumes" -a -n "$images" ]
 # NB 12.11.16 docker-image2dockerfile() {
 # NB 12.11.16 docker history --no-trunc "$1" | \
 # NB 12.11.16 sed -n -e 's,.*/bin/sh -c #(nop) \(MAINTAINER .*[^ ]\) *0 B,\1,p' | \
index ebc65ca4eac90873f0e36c707f7988df1bbd7bc2..a3c350e20883146af533e5d318cd2e577aeaa1e3 100644 (file)
@@ -2,6 +2,7 @@
 # Git
 #
 [ -z "$GIT_REPO" ] && GIT_REPO='git@git.nbdom.net'
+which git > /dev/null || return 0
 
 alias git_grep="git grep --color=auto"
 alias git_ls_tree="git ls-tree --full-tree -r HEAD"
index 62929a1c44bebb279fa78752af055d11b77a64ad..ceed3f4aff5db9bf82105d5e844769181ac53bc7 100644 (file)
@@ -1,3 +1,4 @@
+which openssl > /dev/null || return 0
 # NB 17.10.16 ssl_cert_self_signed() {
 # NB 17.10.16   shell_help_noarg "Usage: $FUNCNAME [CERT_NAME]. Generate a self signed ssl pem certificate files." "$@" && return 1
 # NB 17.10.16   declare name="$1"; shift
index ecf2ea5952629abcda169f4f5fd5f7885e03aa61..015342f1d2a0c79aa7f49530c13b3a09ead8ee5c 100644 (file)
@@ -1,3 +1,4 @@
+which psql > /dev/null || return 0
 pg_count() { 
     declare dbs pwd tables length
 
index 71845bb76619fd1e988bbccc708b8fc46bcf7ea4..da80ba794184d95f94c1ce71bf5d1276680e76d7 100644 (file)
@@ -7,5 +7,5 @@ php425() {
   perl -e '$_=join("",<>); s/\barray\(((?:[^()]++|\((?R)\))*)\)/[$1]/sg; print $_; ' $@
 }
 
-function php_check() { php5 --define error_reporting=22519 --define display_errors=1 --define log_errors=1 --define html_errors=0 $@; }
-
+which php > /dev/null || return 0
+function php_check() { php --define error_reporting=22519 --define display_errors=1 --define log_errors=1 --define html_errors=0 $@; }
index 16ae15b4d49ac99160b2e0b124f0654425062fb3..fd3ea7e300414ac75c68c789c9fa187733191ee1 100644 (file)
@@ -1,3 +1,4 @@
+which puppet > /dev/null || return 0
 puppet2yaml() {
   perl -pe '
 s/^(.*)\{(.*?:)\s*/$1:\n  $2\n/;