diff --git a/check_deployment.sh b/check_deployment.sh new file mode 100644 index 0000000000000000000000000000000000000000..39ccd98ccaa48914e96fda8faece5c6cb81ae662 --- /dev/null +++ b/check_deployment.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash +# ====================================================================== +# +# DEPLOYMENT CLIENT :: CHECK STATUS +# +# ---------------------------------------------------------------------- +# 2023-12-11 v0.1 <axel.hahn@iml.unibe.ch> first lines... +# ====================================================================== + +# ---------------------------------------------------------------------- +# CONFIG +# ---------------------------------------------------------------------- +cd $( dirname $0 ) +selfdir=$( /bin/pwd ) +logdir=/var/log/imldeployment-client +tmpfile=/tmp/deploystatus.log + +typeset -i iErrors=0 +typeset -i iCount=0 + +# ---------------------------------------------------------------------- +# FUNCTIONS +# ---------------------------------------------------------------------- + +# get a list profiles by searching a config.sh +# no param +function getprofiles(){ + find ${selfdir}/profiles/ -name "config.sh" | rev | cut -f 2 -d "/" | rev +} + +# ---------------------------------------------------------------------- +# MAIN +# ---------------------------------------------------------------------- + +for myprofile in $( getprofiles ) +do + iCount+=1 + logfile=$( ls -tr1 ${logdir}/${myprofile}__* | tail -1 ) + lastline=$( tail -1 ${logfile} ) + if grep "^OK:" <<< $lastline >/dev/null; then + echo "OK: $myprofile - $logfile" + else + iErrors+=1 + echo "ERROR: $myprofile - $logfile" + echo " Last lines:" + tail -10 "${logfile}" | sed "s#^# #g" + echo + fi +done > "$tmpfile" +if [ $iCount -eq 0 ]; then + echo "Deployment No profile was created yet." +else + if [ $iErrors -eq 0 ]; then + echo -n "OK" + else + echo -n "ERROR" + fi + echo " Deployment ... Profiles: $iCount ... Errors: $iErrors" + cat "$tmpfile" +fi +rm -f "$tmpfile" +exit $iErrors + +# ---------------------------------------------------------------------- diff --git a/deploy_app.sh b/deploy_app.sh index a0a24b6f2e9adcbc6b10dc3909710634114e6a89..bcc2e1153eca8838a2ddc1eda896aff33dc1bfd7 100755 --- a/deploy_app.sh +++ b/deploy_app.sh @@ -1,7 +1,8 @@ #!/usr/bin/env bash # ====================================================================== # -# DEPLOYMENT POC CLIENT +# DEPLOYMENT CLIENT +# Roll out a package of IML CI server on a target system. # # ---------------------------------------------------------------------- # 2021-04-19 v0.1 <axel.hahn@iml.unibe.ch> initial version @@ -14,6 +15,7 @@ # 2022-11-24 v0.8 <axel.hahn@iml.unibe.ch> tar -xzf without dot as 2nd param # 2022-11-25 v0.9 <axel.hahn@iml.unibe.ch> support custom phase + file per project # 2023-02-14 v1.0 <axel.hahn@unibe.ch> set v1.0 (no changes) +# 2023-02-14 v1.1 <axel.hahn@unibe.ch> show OK message in profile log # ====================================================================== @@ -288,6 +290,8 @@ function deploy(){ cd $( dirname $0 ) + echo "OK: ${IMLCI_PROJECT}" + } # delete old logfiles keeping the last N files