Skip to content

Commit 1a5991f

Browse files
authored
Merge pull request #11 from Cosvernauta/Alpha
Fix and News Release 4.2.9
2 parents 0e3de76 + 2ae95e9 commit 1a5991f

File tree

4 files changed

+107
-58
lines changed

4 files changed

+107
-58
lines changed

Example/DeployExample.conf

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# Archivo de Configuracion para rdeployer.sh
22
# Sobre ambientes WebLogic
33
# 2018 (c)
4-
#### Jimmy R.: jlili.salgado(a)gmail.com
5-
RUTAWL=/Ruta/del/Domain/Home/Weblogic
4+
#######################################
5+
RUTAD=/Ruta/del/Domain/Home/Weblogic
66
APWAR=DeployExample.war
77
SRVNAMES=serverPto01
88
RTJK=/Ruta/donde/tomar/ComponenteWAR
99
NODE=ExampleNode01
10-
RTINST=/ruta/del/servidor/RFC
10+
RTINST=/ruta/para/copiar/componente/localmente
11+
### DODEPLOY=[weblogic|jboss|esb]
12+
DODEPLOY=weblogic

Example/DeployExampleESB.conf

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Archivo de Configuracion para rdeployer.sh
2+
# Sobre ambientes WebLogic
3+
# 2018 (c)
4+
######################################
5+
RUTAD=/Ruta/del/Domain/Home/ESB
6+
APWAR=DeployExampleESB.jar
7+
SRVNAMES=serverPto01
8+
# XML para reapuntes con ESB
9+
PROJECTCONF=DeployExample.xml
10+
########################
11+
# Variables por default
12+
########################
13+
OSBKEY=osb
14+
PROJECTNAME=default
15+
RTJK=/Ruta/donde/tomar/ComponenteWAR
16+
NODE=ExampleNode01ESB
17+
RTINST=/ruta/del/servidor/RFC
18+
### DODEPLOY=[weblogic|jboss|esb]
19+
DODEPLOY=esb

ROADMAP

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,24 @@ ROADMAP rdeployer-plugin para JK,UC
99
# - (New) ANSICOLOR ahora se puede desactivar en conf.
1010
#
1111
# 4.2.2 - 140922-0120 - (Bug) Dependencia cuando es Rollback, de revisar componente, por lo cual ya no
12-
# revisará si el componente existe en situaciones de RB.
12+
# revisará si el componente existe en situaciones de RB.
1313
#
1414
# 4.2.4 - 240922-1347 - (Bug) Módulo JBoss al momento de stop y start.
1515
# - (New) Impresión de firma en txt, para complemento con Jenkins,
16-
# usando un plugin llamado "Build Name and Description Setter".
16+
# usando un plugin llamado "Build Name and Description Setter".
1717
#
1818
# 4.2.6 - 101022-1535 - (Bug) Modulo para problemas con rollbacks con error, se crea temp para los puntos
19-
# de montaje de cada componente. fnErrorExecute, fnEstructuraTemp
19+
# de montaje de cada componente. fnErrorExecute, fnEstructuraTemp
2020
#
2121
# 4.2.7 - 101022-2000 - (New) Funcion para obtener servers o instancias a nivel JBoss.
2222
#
2323
# 4.2.8 - 120123-2011 - (Fix) Se adecua intepretacion de JBoss 7.2 en adelante, para modos kill.
2424
#
25+
# 4.2.9 - 210323-1151 - (Fix) Se realiza validacion que existan los plugins de cada uno (Weblogic/ESB/Jboss)
26+
# - (New) Imprime las instancias cuando no estan disponibles para Weblogic como WARN.
27+
# 250423-1837 - (Fix) Cuando componente coincida con el prev, se omite su instalacion y solo
28+
# se ejecutara el deploy.
29+
#
2530
# 4.2.x - - (Dev) Construir modulo fnValidaEstructuraRB para prev con FIX.
2631
# - (Dev) Checar estructura de xml, cuando es por RFC su instalacion.
2732
# - (Dev) Programacion de URL usando la que despliega JK en el plugin.

rdeployer.sh

Lines changed: 75 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ U_HOUR="$(date '+%H%M')"
3232
U_DATE="$(date '+%Y%m%d')"
3333
U_TIME="${U_DATE}${U_HOUR}"
3434
U_MES="$(date '+%m')"
35+
>version.txt # Inicializando, para cualquier tipo de error en primera ejecución.
36+
3537
if [ "${PluginLauncher}" == "UrbanCode" ]
3638
then
3739
if [ -f BNUMBER.prc ]
@@ -51,7 +53,7 @@ APPLOG=${APNAME}.${BUILD_NUMBER}.log # 230319-1528
5153
APPID=${APNAME}${BUILD_NUMBER} # 070919-1736
5254
#[ "${CICD}" == "Jenkins" ] && APPLOG=${APNAME}.${BUILD_NUMBER}.log # 230319-1528 140921-0836
5355
#[ "${CICD}" == "Jenkins" ] && APPID=${APNAME}${BUILD_NUMBER} || APPID=${APNAME} # 070919-1736 140921-0836
54-
VERSION="4.2.8"
56+
VERSION="4.2.9"
5557
export monthnames=(Invalid Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic)
5658
YEAR="$(date '+%Y')"
5759
MES=${monthnames[${U_MES#0}]}
@@ -228,6 +230,9 @@ else
228230
if [ ${WARNG} -gt 0 ]
229231
then
230232
msg "Se encontraron que algunas instancias no estaban disponibles, checar salida del log en la url anteriormente mostrada" "WARN"
233+
WARNINST=$(grep "Unable to contact" ${APPLOG}| awk '{print $5}'|sort|uniq) # 210323-1151
234+
msg "Instancias con problemas:" "WARN"
235+
msg "${WARNINST}" "WARN"
231236
vEXIT=4
232237
fi
233238
#[ "$NPROD" == "1" ] && RTINST=$(dirname $(grep "Starting task with path" ${APPLOG} | awk -F":" '{print $4}'))
@@ -375,7 +380,7 @@ fnCheckInstJB()
375380
for HC in $(${JB_HOME}/bin/jboss-cli.sh ${OPTIONS} --command="ls host=")
376381
do
377382
grpInfo=$(${JB_HOME}/bin/jboss-cli.sh ${OPTIONS} --command="/host=${HC}:resolve-expression-on-domain" | grep ${Grp} | awk '{print $1,$5,$7}'| sed 's/{//g'|sed 's/"//g')
378-
echo "${grpInfo}" >> ${APPLOG}
383+
echo "${grpInfo}" | grep .. >> ${APPLOG}
379384
done
380385
done
381386

@@ -526,7 +531,7 @@ msg "Validando variables de entorno Jenkins:" "INFO"
526531

527532
if [ -z ${WEBLOGIC_HOME} ] && [ -z ${APHOME} ] && [ -z ${JB_HOME} ] && [ -z ${OSB_HOME} ] && [ -z ${NPROD} ] && [ -z ${JAVA_HOME} ]
528533
then
529-
msg "No esta configurado Plugin rdeployer correctamente en Jenkins" "ERROR"
534+
msg "No esta configurado Plugin rdeployer correctamente en ${PluginLauncher}" "ERROR"
530535
exit 1
531536
else
532537
msg "Variables set correctamente." "OK"
@@ -598,44 +603,51 @@ fi
598603
fnEstructuraNew()
599604
{
600605
vCOMP=$1
601-
RUTA_COPIA="${RTINST}/${YEAR}/${MES}/${NRFC}"
602-
msg "Creando comando para estructura de directorios:" "INFO"
603-
msg "${RTINST}" "DEBUG"
604-
msg "${YEAR}" "DEBUG"
605-
msg "${MES}" "DEBUG"
606-
CMD1="mkdir -p ${RUTA_COPIA}"
607-
ssh -q ${IPSRV} "${CMD1}"
608-
# 080320-2358 Se actualiza la forma de estructura con mas validaciones.
609-
msg "Creando comando para mover instalación que exista:" "INFO"
610-
msg "backup ${RTINST}/${vCOMP}.prev" "DEBUG"
611-
CMD1="[ ! -d ${RTINST}/.bck ] && mkdir ${RTINST}/.bck"
612-
CMD1="$CMD1;[ -f ${RTINST}/${vCOMP}.prev ] && mv ${RTINST}/${vCOMP}.prev ${RTINST}/.bck/${vCOMP}.prev.${U_TIME}"
613-
msg "backup ${RTINST}/${vCOMP}" "DEBUG"
614-
CMD1="$CMD1;[ -f ${RTINST}/${vCOMP} ] && cp -rp ${RTINST}/${vCOMP} ${RTINST}/${vCOMP}.prev"
615-
CMD1="$CMD1;[ -d ${RTINST}/.bck ] && ls -ltr ${RTINST}/.bck/${vCOMP}.prev.${U_TIME}"
616-
CMD1="$CMD1;[ -f ${RTINST}/${vCOMP}.prev ] && ls -ltr ${RTINST}/${vCOMP}.prev"
617-
618-
msg "Creando comando para punto de montaje como liga suave:" "INFO"
619-
msg "remove ${RTINST}/${vCOMP}" "DEBUG"
620-
CMD1="$CMD1;[ -f ${RTINST}/${vCOMP} ] && rm -rf ${RTINST}/${vCOMP}"
621-
msg "link ${RUTA_COPIA}/${vCOMP} ${RTINST}/${vCOMP}" "DEBUG"
622-
CMD1="$CMD1;ln -s ${RUTA_COPIA}/${vCOMP} ${RTINST}/${vCOMP}"
623-
624-
msg "Copiando el componente en el directorio:" "INFO"
625-
msg "${RTJK}/${vCOMP}" "DEBUG"
626-
msg "${IPSRV}:${RUTA_COPIA}/." "DEBUG"
627-
scp -qrp ${RTJK}/${vCOMP} ${IPSRV}:${RUTA_COPIA}/.
628-
629-
if [ $? -gt 0 ]
630-
then
631-
msg "Error al copiar el componente ${vCOMP}" "ERROR"
606+
vFirmaActual=$(ssh -q ${IPSRV} "md5sum ${RTINST}/${vCOMP}" | awk '{print $1}') #250423-1837
607+
vFirmaNewComponente=$(md5sum ${RTJK}/${vCOMP} | awk '{print $1}') #250423-1837
608+
609+
if [ "${vFirmaActual}" != "${vFirmaNewComponente}" ]; then #250423-1837
610+
RUTA_COPIA="${RTINST}/${YEAR}/${MES}/${NRFC}"
611+
msg "Creando comando para estructura de directorios:" "INFO"
612+
msg "${RTINST}" "DEBUG"
613+
msg "${YEAR}" "DEBUG"
614+
msg "${MES}" "DEBUG"
615+
CMD1="mkdir -p ${RUTA_COPIA}"
616+
ssh -q ${IPSRV} "${CMD1}"
617+
# 080320-2358 Se actualiza la forma de estructura con mas validaciones.
618+
msg "Creando comando para mover instalación que exista:" "INFO"
619+
msg "backup ${RTINST}/${vCOMP}.prev" "DEBUG"
620+
CMD1="[ ! -d ${RTINST}/.bck ] && mkdir ${RTINST}/.bck"
621+
CMD1="$CMD1;[ -f ${RTINST}/${vCOMP}.prev ] && mv ${RTINST}/${vCOMP}.prev ${RTINST}/.bck/${vCOMP}.prev.${U_TIME}"
622+
msg "backup ${RTINST}/${vCOMP}" "DEBUG"
623+
CMD1="$CMD1;[ -f ${RTINST}/${vCOMP} ] && cp -rp ${RTINST}/${vCOMP} ${RTINST}/${vCOMP}.prev"
624+
CMD1="$CMD1;[ -d ${RTINST}/.bck ] && ls -ltr ${RTINST}/.bck/${vCOMP}.prev.${U_TIME}"
625+
CMD1="$CMD1;[ -f ${RTINST}/${vCOMP}.prev ] && ls -ltr ${RTINST}/${vCOMP}.prev"
626+
627+
msg "Creando comando para punto de montaje como liga suave:" "INFO"
628+
msg "remove ${RTINST}/${vCOMP}" "DEBUG"
629+
CMD1="$CMD1;[ -f ${RTINST}/${vCOMP} ] && rm -rf ${RTINST}/${vCOMP}"
630+
msg "link ${RUTA_COPIA}/${vCOMP} ${RTINST}/${vCOMP}" "DEBUG"
631+
CMD1="$CMD1;ln -s ${RUTA_COPIA}/${vCOMP} ${RTINST}/${vCOMP}"
632+
633+
msg "Copiando el componente en el directorio:" "INFO"
634+
msg "${RTJK}/${vCOMP}" "DEBUG"
635+
msg "${IPSRV}:${RUTA_COPIA}/." "DEBUG"
636+
scp -qrp ${RTJK}/${vCOMP} ${IPSRV}:${RUTA_COPIA}/.
637+
638+
if [ $? -gt 0 ]
639+
then
640+
msg "Error al copiar el componente ${vCOMP}" "ERROR"
632641
exit 1
633-
fi
642+
fi
634643

635-
msg "Ejecutando comandos de estructura:" "INFO"
636-
msg "$CMD1" "DEBUG"
637-
ssh -q ${IPSRV} "${CMD1}"
638-
msg "Se termina ejecución" "OK"
644+
msg "Ejecutando comandos de estructura:" "INFO"
645+
msg "$CMD1" "DEBUG"
646+
ssh -q ${IPSRV} "${CMD1}"
647+
msg "Se termina ejecución" "OK"
648+
else
649+
msg "Componente tiene misma firma, se omite su copiado" "WARN" #250423-1837
650+
fi #250423-1837
639651

640652
}
641653

@@ -708,7 +720,7 @@ fnValidateFile()
708720
if [ ! -f ${FileVal} ]; then
709721
msg "No existe Archivo ${FileVal}, favor de validar" "ERROR"
710722
else
711-
msg "${FileVal} correcto" "OK"
723+
msg "${FileVal} seems right!" "DEBUG"
712724
fi
713725

714726
}
@@ -738,17 +750,11 @@ case "${CONN}" in
738750
;;
739751
esac
740752

741-
#if [ "${CONN}" == "ERROR" ]
742-
#then
743-
# msg "No se puede obtener usuario y password en el archivo de configuracion" "ERROR"
744-
# exit 1
745-
#else
746-
msg "Datos de consola encontrados." "OK"
747-
USER=$(echo $CONN | awk '{print $1}')
748-
PASSWD=$(echo $CONN | awk '{print $2}')
749-
IPSRV=$(echo $CONN | awk '{print $3}')
750-
PORT=$(echo $CONN | awk '{print $4}')
751-
#fi
753+
msg "Datos de consola encontrados." "OK"
754+
USER=$(echo $CONN | awk '{print $1}')
755+
PASSWD=$(echo $CONN | awk '{print $2}')
756+
IPSRV=$(echo $CONN | awk '{print $3}')
757+
PORT=$(echo $CONN | awk '{print $4}')
752758

753759
export USER
754760
export PASSWD
@@ -791,7 +797,12 @@ fnPluginInfo() {
791797
case $1 in
792798
"weblogic")
793799
echo "===== PLUGIN VERSION =====" >> ${APPLOG}
794-
${JAVA_HOME}/bin/java -Xms${vMemoryIni} -Xmx${vMemoryMax} -cp ${WEBLOGIC_HOME}/server/lib/weblogic.jar weblogic.Deployer -version >> ${APPLOG}
800+
if [ -f ${WEBLOGIC_HOME}/server/lib/weblogic.jar ]; then
801+
${JAVA_HOME}/bin/java -Xms${vMemoryIni} -Xmx${vMemoryMax} -cp ${WEBLOGIC_HOME}/server/lib/weblogic.jar weblogic.Deployer -version >> ${APPLOG}
802+
else
803+
msg "Plugin no encontrado en la ruta ${WEBLOGIC_HOME}" "ERROR"
804+
exit 1
805+
fi
795806

796807
if [ $? -gt 0 ]
797808
then
@@ -800,6 +811,17 @@ case $1 in
800811
fi
801812
;;
802813

814+
"jboss") # 210323-1151
815+
echo "===== PLUGIN VERSION =====" >> ${APPLOG}
816+
817+
if [ -f ${JB_HOME}/bin/jboss-cli.sh ]; then
818+
msg "JBoss CLI Detected" >> ${APPLOG}
819+
else
820+
msg "No se encuentra el archivo plugin para Jboss en ${JB_HOME}" "ERROR"
821+
exit 1
822+
fi
823+
;;
824+
803825
"esb")
804826
if [ -f ${OSB_HOME}/osb/tools/configjar/setenv.sh ]
805827
then
@@ -899,6 +921,7 @@ case $DODEPLOY in
899921
fnFirma ${NPROD} ${APWAR} # Variable NPROD obtenido de Jenkins
900922
;;
901923
"jboss")
924+
fnPluginInfo jboss # 210323-1151
902925
msg "Plugin cargado: JBoss_CLI" "INFO"
903926
fnGetConsole JBoss
904927
[ "$NPROD" == "0" ] && fnTipoEstructuraInstall ${TYPEINST} # 120521-0111

0 commit comments

Comments
 (0)