|
|
@ -69,13 +69,17 @@ if [ -f "${KAZ_UPDATE_ENV}" ]; then |
|
|
|
. "${KAZ_UPDATE_ENV}" |
|
|
|
else |
|
|
|
KAZ_SRC_TYPE="VAGRANT" |
|
|
|
KAZ_VAGRANT_ROOT="~/kaz-vagrant" |
|
|
|
KAZ_DEV_REMOTE="root@kazdev" |
|
|
|
KAZ_DEV_ROOT="/kaz" |
|
|
|
KAZ_PROD_REMOTE="root@kazprod" |
|
|
|
KAZ_VAGRANT_ROOT="~/kaz-vagrant" |
|
|
|
KAZ_PROD_ROOT="/kaz" |
|
|
|
KAZ_OTHER_REMOTE="192.168.1.1" |
|
|
|
KAZ_OTHER_ROOT="~/git/kaz" |
|
|
|
fi |
|
|
|
|
|
|
|
while : ; do |
|
|
|
read -p " Form which tested server ([Vagrant|DEV|PROD]) you want updaye git KAZ? [${KAZ_SRC_TYPE}]: " rep |
|
|
|
read -p " Form which tested server ([Vagrant|DEV|PROD|OTHER]) you want updaye git KAZ? [${KAZ_SRC_TYPE}]: " rep |
|
|
|
case "${rep}" in |
|
|
|
"") |
|
|
|
break |
|
|
@ -95,8 +99,13 @@ while : ; do |
|
|
|
KAZ_CFG_UPDATED="true" |
|
|
|
break |
|
|
|
;; |
|
|
|
[oO]*) |
|
|
|
KAZ_SRC_TYPE="OTHER" |
|
|
|
KAZ_CFG_UPDATED="true" |
|
|
|
break |
|
|
|
;; |
|
|
|
* ) |
|
|
|
printKazError "\"${rep}\" not match with [Vagrant|DEV|PROD]." |
|
|
|
printKazError "\"${rep}\" not match with [Vagrant|DEV|PROD|OTHER]." |
|
|
|
;; |
|
|
|
esac |
|
|
|
done |
|
|
@ -126,8 +135,21 @@ case "${KAZ_SRC_TYPE}" in |
|
|
|
) && break; |
|
|
|
done |
|
|
|
;; |
|
|
|
DEV|PROD) |
|
|
|
[ "${KAZ_SRC_TYPE}" == "DEV" ] && remoteUser="${KAZ_DEV_REMOTE}" || remoteUser="${KAZ_PROD_REMOTE}" |
|
|
|
DEV|PROD|OTHER) |
|
|
|
case "${KAZ_SRC_TYPE}" in |
|
|
|
DEV) |
|
|
|
remoteUser="${KAZ_DEV_REMOTE}" |
|
|
|
remotePath="${KAZ_DEV_ROOT}" |
|
|
|
;; |
|
|
|
PROD) |
|
|
|
remoteUser="${KAZ_PROD_REMOTE}" |
|
|
|
remotePath="${KAZ_PROD_ROOT}" |
|
|
|
;; |
|
|
|
OTHER) |
|
|
|
remoteUser="${KAZ_OTHER_REMOTE}" |
|
|
|
remotePath="${KAZ_OTHER_ROOT}" |
|
|
|
;; |
|
|
|
esac |
|
|
|
while : ; do |
|
|
|
read -p "Give remote access? [${remoteUser}]: " rep |
|
|
|
case "${rep}" in |
|
|
@ -135,7 +157,7 @@ case "${KAZ_SRC_TYPE}" in |
|
|
|
break |
|
|
|
;; |
|
|
|
* ) |
|
|
|
if [[ "${rep}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+$ ]]; then |
|
|
|
if [[ "${rep}" =~ ^([a-zA-Z0-9._%+-]+@)?[a-zA-Z0-9.-]+$ ]]; then |
|
|
|
remoteUser="${rep}" |
|
|
|
break |
|
|
|
else |
|
|
@ -144,15 +166,48 @@ case "${KAZ_SRC_TYPE}" in |
|
|
|
;; |
|
|
|
esac |
|
|
|
done |
|
|
|
if [ "${KAZ_SRC_TYPE}" == "DEV" ]; then |
|
|
|
if [ "${remoteUser}" != "${KAZ_DEV_REMOTE}" ]; then |
|
|
|
KAZ_DEV_REMOTE="${remoteUser}"; KAZ_CFG_UPDATED="true" |
|
|
|
fi |
|
|
|
else |
|
|
|
if [ "${remoteUser}" != "${KAZ_PROD_REMOTE}" ]; then |
|
|
|
KAZ_PROD_REMOTE="${remoteUser}"; KAZ_CFG_UPDATED="true" |
|
|
|
fi |
|
|
|
fi |
|
|
|
while : ; do |
|
|
|
read -p "Give remote path? [${remotePath}]: " rep |
|
|
|
case "${rep}" in |
|
|
|
"" ) |
|
|
|
break |
|
|
|
;; |
|
|
|
* ) |
|
|
|
if [[ "${rep}" =~ ^~?[a-zA-Z0-9/._-]*/$ ]]; then |
|
|
|
remotePath="${rep}" |
|
|
|
break |
|
|
|
else |
|
|
|
printKazError "${rep} not match with [path]" |
|
|
|
fi |
|
|
|
;; |
|
|
|
esac |
|
|
|
done |
|
|
|
case "${KAZ_SRC_TYPE}" in |
|
|
|
DEV) |
|
|
|
if [ "${remoteUser}" != "${KAZ_DEV_REMOTE}" ]; then |
|
|
|
KAZ_DEV_REMOTE="${remoteUser}"; KAZ_CFG_UPDATED="true" |
|
|
|
fi |
|
|
|
if [ "${remotePath}" != "${KAZ_DEV_ROOT}" ]; then |
|
|
|
KAZ_DEV_ROOT="${remotePath}"; KAZ_CFG_UPDATED="true" |
|
|
|
fi |
|
|
|
;; |
|
|
|
PROD) |
|
|
|
if [ "${remoteUser}" != "${KAZ_PROD_REMOTE}" ]; then |
|
|
|
KAZ_PROD_REMOTE="${remoteUser}"; KAZ_CFG_UPDATED="true" |
|
|
|
fi |
|
|
|
if [ "${remotePath}" != "${KAZ_PROD_ROOT}" ]; then |
|
|
|
KAZ_PROD_ROOT="${remotePath}"; KAZ_CFG_UPDATED="true" |
|
|
|
fi |
|
|
|
;; |
|
|
|
OTHER) |
|
|
|
if [ "${remoteUser}" != "${KAZ_OTHER_REMOTE}" ]; then |
|
|
|
KAZ_OTHER_REMOTE="${remoteUser}"; KAZ_CFG_UPDATED="true" |
|
|
|
fi |
|
|
|
if [ "${remotePath}" != "${KAZ_OTHER_ROOT}" ]; then |
|
|
|
KAZ_OTHER_ROOT="${remotePath}"; KAZ_CFG_UPDATED="true" |
|
|
|
fi |
|
|
|
;; |
|
|
|
esac |
|
|
|
;; |
|
|
|
esac |
|
|
|
|
|
|
@ -162,7 +217,11 @@ if [ -n "${KAZ_CFG_UPDATED}" ]; then |
|
|
|
KAZ_SRC_TYPE="${KAZ_SRC_TYPE}" |
|
|
|
KAZ_VAGRANT_ROOT="${KAZ_VAGRANT_ROOT}" |
|
|
|
KAZ_DEV_REMOTE="${KAZ_DEV_REMOTE}" |
|
|
|
KAZ_DEV_ROOT="${KAZ_DEV_ROOT}" |
|
|
|
KAZ_PROD_REMOTE="${KAZ_PROD_REMOTE}" |
|
|
|
KAZ_PROD_ROOT="${KAZ_PROD_ROOT}" |
|
|
|
KAZ_OTHER_REMOTE="${KAZ_OTHER_REMOTE}" |
|
|
|
KAZ_OTHER_ROOT="${KAZ_OTHER_ROOT}" |
|
|
|
EOF |
|
|
|
fi |
|
|
|
|
|
|
@ -185,17 +244,17 @@ if [ "$(git status | grep "git restore")" ]; then |
|
|
|
fi |
|
|
|
|
|
|
|
######################################## |
|
|
|
# download valide source from Vagrant, DEV or PROD |
|
|
|
# download valide source from Vagrant, DEV, PROD or OTHER |
|
|
|
|
|
|
|
export TESTED_DIR="${KAZ_ROOT}/tmp/kaz" |
|
|
|
mkdir -p "${TESTED_DIR}" |
|
|
|
|
|
|
|
printKazMsg "Download from ${KAZ_SRC_TYPE} to ${KAZ_TMP_DIR}" |
|
|
|
printKazMsg "Download from ${KAZ_SRC_TYPE} to ${TESTED_DIR}" |
|
|
|
checkContinue |
|
|
|
case "${KAZ_SRC_TYPE}" in |
|
|
|
VAGRANT) |
|
|
|
( |
|
|
|
echo "check vagrant status" |
|
|
|
echo "check vagrant status (must be launch with vagrant)" |
|
|
|
cd "${KAZ_VAGRANT_ROOT/#\~/${HOME}}" |
|
|
|
while :; do |
|
|
|
if [ -n "$(vagrant status | grep running)" ]; then |
|
|
@ -205,21 +264,36 @@ case "${KAZ_SRC_TYPE}" in |
|
|
|
checkContinue |
|
|
|
done |
|
|
|
) |
|
|
|
|
|
|
|
echo check key |
|
|
|
echo ssh-keygen -f "/home/felix/.ssh/known_hosts" -R "[127.0.0.1]:2222" |
|
|
|
|
|
|
|
printKazMsg check key |
|
|
|
while grep -q "@@@@@@@@@@" <<<"$(ssh -p 2222 -i ${KAZ_VAGRANT_ROOT/#\~/${HOME}}/.vagrant/machines/default/virtualbox/private_key vagrant@127.0.0.1 date 2>&1 >/dev/null)"; do |
|
|
|
printKazError "ssh key has changed" |
|
|
|
echo "you must call :" |
|
|
|
echo "${YELLOW} ssh-keygen -f ~/.ssh/known_hosts -R \"[127.0.0.1]:2222\"${NC}" |
|
|
|
checkContinue |
|
|
|
done |
|
|
|
# XXX remote root |
|
|
|
${SIMU} rsync -rlptDEHAX --no-o --delete --info=progress2 \ |
|
|
|
-e "ssh -p 2222 -i ${KAZ_VAGRANT_ROOT/#\~/${HOME}}/.vagrant/machines/default/virtualbox/private_key" \ |
|
|
|
$(for i in ${REF_DIRS} git download ; do echo "vagrant@127.0.0.1:/kaz/$i" ; done) \ |
|
|
|
"${TESTED_DIR}" |
|
|
|
;; |
|
|
|
DEV|PROD) |
|
|
|
DEV|PROD|OTHER) |
|
|
|
# remoteUser is already set |
|
|
|
[ "${KAZ_SRC_TYPE}" == "DEV" ] && remoteUser="${KAZ_DEV_REMOTE}" || remoteUser="${KAZ_PROD_REMOTE}" |
|
|
|
case "${KAZ_SRC_TYPE}" in |
|
|
|
DEV) |
|
|
|
remoteUser="${KAZ_DEV_REMOTE}"; remotePath="${KAZ_DEV_ROOT}" |
|
|
|
;; |
|
|
|
PROD) |
|
|
|
remoteUser="${KAZ_PROD_REMOTE}"; remotePath="${KAZ_PROD_ROOT}" |
|
|
|
;; |
|
|
|
OTHER) |
|
|
|
remoteUser="${KAZ_OTHER_REMOTE}"; remotePath="${KAZ_OTHER_ROOT}" |
|
|
|
;; |
|
|
|
esac |
|
|
|
|
|
|
|
${SIMU} rsync -rlptDEHAX --no-o --delete --info=progress2 \ |
|
|
|
$(for i in ${REF_DIRS} ; do echo "${remoteUser}:/kaz/$i" ; done) \ |
|
|
|
$(for i in ${REF_DIRS} ; do echo "${remoteUser}:${remotePath}$i" ; done) \ |
|
|
|
"${TESTED_DIR}" |
|
|
|
;; |
|
|
|
esac |
|
|
@ -280,7 +354,7 @@ for file in ${NEW_FILES[@]}; do |
|
|
|
fi |
|
|
|
echo "New file ${file}" |
|
|
|
while true; do |
|
|
|
read -p "Synchronize ${GREEN}${file}${NC} to ${GREEN}${KAZ_ROOT}:/${file}${NC}? [y/n/i/help]: " yn |
|
|
|
read -p "Synchronize ${GREEN}${file}${NC} to ${GREEN}${KAZ_ROOT}/${file}${NC}? [y/n/i/help]: " yn |
|
|
|
case $yn in |
|
|
|
[Yy]*) |
|
|
|
${SIMU} rsync -rlptDEHAX --info=progress2 "${file}" "${KAZ_ROOT}/${file}" |
|
|
@ -310,7 +384,7 @@ trap 'rm -f "${TMPFILE}"' EXIT |
|
|
|
export TMPFILE="$(mktemp)" || exit 1 |
|
|
|
|
|
|
|
CHANGED_FILES=$(find ${REF_DIRS} '(' -type d ! -exec /bin/test -d "${KAZ_ROOT}/{}" \; -prune ')' -o '(' -type f -exec /bin/test -f "${KAZ_ROOT}/{}" \; ! -exec cmp -s "{}" "${KAZ_ROOT}/{}" \; -print ')') |
|
|
|
for file in ${CHANGED_FILES[@]}; do |
|
|
|
for file in ${CHANGED_FILES[@]} ; do |
|
|
|
if badName "${file}" ; then |
|
|
|
echo SKIP ${file} |
|
|
|
continue |
|
|
|