Guest User

Untitled

a guest
Nov 14th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. ### to fix the issue about oc login token shared between the job executions ###
  2. HOME=$(pwd)/.${RD_JOB_EXECID}
  3. cd $HOME
  4. ### fix end ###
  5.  
  6. ### functions ###
  7. # produz logging no console
  8. ## $1 mensagem
  9. function info() {
  10.  
  11. (echo -e "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] $1")
  12.  
  13. }
  14.  
  15. # produz logging de erros no console
  16. ## $1 mensagem de erro
  17. function error() {
  18.  
  19. (>&1 echo -e "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] *ERROR* $1")
  20.  
  21. }
  22. ### /functions/ ###
  23.  
  24. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] [OPENSHIFT_PROJECT].: ${RD_OPTION_OPENSHIFT_PROJECT}"
  25. info "[OPENSHIFT_PROJECT].: ${RD_OPTION_OPENSHIFT_PROJECT}"
  26. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] [APP_NAME]..........: ${RD_OPTION_APP_NAME}"
  27. info "[APP_NAME]..........: ${RD_OPTION_APP_NAME}"
  28. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] [PARAM_URL_REGISTRY]: ${RD_OPTION_PARAM_URL_REGISTRY}"
  29. info "[PARAM_URL_REGISTRY]: ${RD_OPTION_PARAM_URL_REGISTRY}"
  30.  
  31. # Get the current registry url
  32. CURR=`oc get dc ${RD_OPTION_APP_NAME} -n ${RD_OPTION_OPENSHIFT_PROJECT} --template="{{(index .spec.template.spec.containers 0).image}}"`
  33.  
  34. if [ "$?" == 0 ]; then
  35. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] Imagem antiga: ${CURR}"
  36. info "Imagem antiga: ${CURR}"
  37.  
  38. # Get the latest deployed number
  39. DEPLOYED=$(oc deploy ${RD_OPTION_APP_NAME} -n ${RD_OPTION_OPENSHIFT_PROJECT} | grep deployed | awk -F ' ' '{print $3}')
  40.  
  41. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] Current deployment ${DEPLOYED}"
  42. info "Current deployment ${DEPLOYED}"
  43.  
  44. # Apply the new image
  45. oc patch dc ${RD_OPTION_APP_NAME} \
  46. -n ${RD_OPTION_OPENSHIFT_PROJECT} \
  47. --patch='{"spec":{"template":{"spec":{"containers":[{"name":"'${RD_OPTION_APP_NAME}'","image":"'${RD_OPTION_PARAM_URL_REGISTRY}'"}]}}}}'
  48.  
  49. if [ "$?" == 0 ]; then
  50. #### Sync deployment ####
  51. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] Rolling deployment ${DEPLOY}"
  52. info "Rolling deployment ${DEPLOY}"
  53.  
  54. # Run until deployed or failed
  55. while :; do
  56. # Get the number of started pending or running number
  57. if [ -z "$DEPLOY" ]; then
  58. DEPLOY=$(oc deploy ${RD_OPTION_APP_NAME} -n ${RD_OPTION_OPENSHIFT_PROJECT} | grep -v $DEPLOYED | awk -F ' ' '{print $3}')
  59. fi
  60.  
  61. # Get the status of rolling deployment
  62. STATUS=$(oc deploy ${RD_OPTION_APP_NAME} -n ${RD_OPTION_OPENSHIFT_PROJECT} | grep -v $DEPLOYED | awk -F ' ' '{print $4}')
  63. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] ${RD_OPTION_APP_NAME} - ${DEPLOY} - ${STATUS}"
  64. info "${RD_OPTION_APP_NAME} - ${DEPLOY} - ${STATUS}"
  65.  
  66. case $STATUS in
  67. running)
  68. sleep 5
  69. continue
  70. ;;
  71. pending)
  72. sleep 5
  73. continue
  74. ;;
  75. failed)
  76. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] [FAILURE] Deployment ${DEPLOY} finalizado com *erro*"
  77. error "Deployment ${DEPLOY} finalizado com *erro*"
  78. exit 3
  79. ;;
  80. deployed)
  81. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] [SUCCESS] Deployment ${DEPLOY} finalizado com sucesso."
  82. info "[SUCCESS] Deployment ${DEPLOY} finalizado com sucesso."
  83. break
  84. ;;
  85. *)
  86. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] ${RD_OPTION_APP_NAME} - ${DEPLOY} - $STATUS . . ."
  87. info "${RD_OPTION_APP_NAME} - ${DEPLOY} - $STATUS . . ."
  88. continue
  89. ;;
  90. esac
  91. done
  92. #### Sync deployment ####
  93. else
  94. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] [FAILURE] Patch *failed*, deployment not started"
  95. error "Patch *failed*, deployment not started"
  96. exit 2
  97. fi
  98. else
  99. #echo "> > > > [`date +"%Y-%m-%d_%H-%M-%S"`] [FAILURE] Can not get the current config"
  100. error "Can not get the current config"
  101. exit 1
  102. fi
Add Comment
Please, Sign In to add comment