lib/minke/scripts/minke in minke-1.13.18 vs lib/minke/scripts/minke in minke-1.13.19

- old
+ new

@@ -1,41 +1,58 @@ #!/bin/bash -MINKE_VERSION="1.13.18" +MINKE_VERSION="1.13.19" DOCKER_SOCK="/var/run/docker.sock:/var/run/docker.sock" NEW_UUID=$(base64 /dev/urandom | tr -d '/+' | head -c 32 | tr '[:upper:]' '[:lower:]') - DOCKER_IMAGE="nicholasjackson/minke:${MINKE_VERSION}" - COMMAND=$* - GEM_VOLUMES="" +SSH_AUTH="" +# Forward keys to docker host +if [[ $1 == "-A" || $2 == "-A" ]]; then + if [[ "${DOCKER_MACHINE}" != "" ]]; then + # for docker machine + SSH_SOCK=boot2docker.$$.ssh.socket + docker-machine ssh ${DOCKER_MACHINE} -A -S $SSH_SOCK -M -f -n tail -f /dev/null + AGENT_SOCK=$(docker-machine ssh ${DOCKER_MACHINE} -S $SSH_SOCK echo \$SSH_AUTH_SOCK) + SSH_AUTH="-e AGENT_SOCK=${AGENT_SOCK}" + fi + + if [[ "${DOCKER_MACHINE}" == "" ]]; then + SSH_AUTH="-e AGENT_SOCK=${SSH_AUTH_SOCK}" + fi + + echo "Forwarding SSH Keys: ${SSH_AUTH}" +fi + # Test if interactive terminal and set the flag [[ -t 1 ]] && IT="-it" || IT="" if [[ $1 != \generate* ]]; then # Test if we need to mount any special volumes for paths specified in the Gemfile while read -r line; do - if [[ $line != \#* ]]; then - l=$(echo $line | sed "s/.*:path *=> *//" | sed "s/['|\"]\(.*\)['|\"]/\1/") - GEM_VOLUMES="${GEM_VOLUMES} -v $l:$l" - fi + if [[ $line != \#* ]]; then + l=$(echo $line | sed "s/.*:path *=> *//" | sed "s/['|\"]\(.*\)['|\"]/\1/") + GEM_VOLUMES="${GEM_VOLUMES} -v $l:$l" + fi done < <(grep :path Gemfile) DIR=$(dirname `pwd`) - DOCKER_RUN="docker run ${IT} --rm --net=minke_${NEW_UUID} ${GEM_VOLUMES} -v ${DOCKER_SOCK} -v ${DIR}:${DIR} -e BUNDLE_PATH=${PWD}/vendor -e BUNDLE_JOBS=2 -e DOCKER_NETWORK=minke_${NEW_UUID} -w ${DIR}/_build ${DOCKER_IMAGE} ${COMMAND}" + DOCKER_RUN="docker run ${IT} --rm --net=minke_${NEW_UUID} ${SSH_AUTH} ${GEM_VOLUMES} -v ${DOCKER_SOCK} -v ${DIR}:${DIR} -e BUNDLE_PATH=${PWD}/vendor -e BUNDLE_JOBS=2 -e DOCKER_NETWORK=minke_${NEW_UUID} -w ${DIR}/_minke ${DOCKER_IMAGE} ${COMMAND}" echo "Running command: minke ${COMMAND}" - id=$(docker network create minke_${NEW_UUID}) - #echo "${DOCKER_RUN}" eval "${DOCKER_RUN}" id=$(docker network rm minke_${NEW_UUID}) + + if [[ "${DOCKER_MACHINE}" != "" ]]; then + # Clean up socket + docker-machine ssh default -S $SSH_SOCK -O exit + fi fi if [[ $1 = \generate* ]]; then DIR=$(pwd) DOCKER_RUN="docker run --rm -v ${DOCKER_SOCK} -v ${DIR}:${DIR} -w ${DIR}:${DIR} ${DOCKER_IMAGE} ${COMMAND}" - echo $DOCKER_RUN eval "$DOCKER_RUN" fi