Script to restart JIRA automatically (Jira)

I have modified Atlassian script to support following features:

  • Cleanup for leftover files – .jira-home.lock, catalina.pid
  • catalina.out log backup
  • Check for running process and force kill JIRA if it won’t stop on time
#!/bin/sh -e
# JIRA startup script
# Description: For JIRA 7.2.7

# Define some variables
# Name of app ( JIRA, Confluence, etc )
APP=jira
# Name of the user to run as
USER=root
# Location of application's bin directory
BASE=/u01/jira/Prod_7.2.7
export JIRAHOME=$BASE
# Location of application's home directory
JHOME=/u01/jira/Prod_7.2.7_home
export JIRA_HOME=$JHOME
# Location of Java JDK
export JAVA_HOME=/usr/java/default

case "$1" in
  # Start command
  start)
    echo "Starting $APP"
    lockfile="$JHOME/.jira-home.lock"
    [ -e $lockfile ] && rm $lockfile

    pidfile="$BASE/work/catalina.pid"
    [ -e $pidfile ] && rm $pidfile

    logfile="$BASE/logs/catalina.out"
    [ -e $logfile ] && mv $BASE/logs/catalina.out "$BASE/logs/catalina-`date +%F`.out"

    /bin/su -m $USER -c "cd $BASE/bin && $BASE/bin/start-jira.sh &> /dev/null"
    ;;
  # Stop command
  stop)

    blah=""
    temp=`ps aux|grep java|grep jira|grep -v grep|awk '{print $2}'`
    pidfile="$BASE/work/catalina.pid"

    if [ "$temp" == "$blah" ]
    then
       echo 'JIRA is not running'
       exit 0
    fi

    echo 'Shutting down JIRA'
    /bin/su -m $USER -c "$BASE/bin/stop-jira.sh &> /dev/null"

    echo 'Sleeping 30 seconds, because sleeping is good...'
    sleep 30 

    temp=`ps aux|grep java|grep jira|grep -v grep|awk '{print $2}'`

    echo 'Now checking if JIRA is still running...'

    if [ "$temp" != "$blah" ]
    then
       echo 'Force killing JIRA now...'
       /bin/su -m $USER -c "$BASE/bin/catalina.sh stop -force $num >/dev/null 2>&1"
       echo 'Killed'
       exit 0
    else
       echo 'JIRA is already down'
       exit 0
    fi

    echo "...done"
    exit 0
    ;;
   # Restart command
   restart)
        $0 stop
        sleep 60
        $0 start
        ;;
  *)
    echo "Usage: jira {start|restart|stop}"
    exit 1
    ;;
esac

exit 0

Docker un tā pielietojums programmatūras ražošanas procesu automatizācijai

Atdevu, aizstāvēju bakalaura darbu. Publicēju šeit, varbūt kādam noder.

Nosaukums LV: Docker tehnoloģijas analīze un realizācija programmatūras izstrādes procesa automatizācijai

ENG: Analysis and Implementation of Docker Technology for Automation of Software Development Process

Anotācija:

Bakalaura darba tēma ir “Docker tehnoloģijas analīze un realizācija programmatūras izstrādes procesa automatizācijai”.

Bakalaura darba tēma ir “Docker tehnoloģijas analīze un realizācija programmatūras izstrādes procesa automatizācijai”.Darba analītiskajā daļā ir apskatītas virtuālo mašīnu tehnoloģijas un to iedalījums tipos – uz hipervizoriem bāzēta un uz konteineriem bāzēta virtualizācija. Ir veikts abu tipu salīdzinājums, novērtējot ieguvumus un trūkumus.

Darbā ir veikta sīkāka Docker tehnoloģijas izpēte. Ir apskatīta tās izveides vēsture un attīstība, kā arī uzbūves arhitektūra. Ir izpētīti ar Docker konteineriem saistītie drošības riski, kā arī analizēts veiktspējas pētījums, kurā tos salīdzina ar uz hipevizoriem balstītu virtualizāciju.

Darba praktiskajā daļā ir veikta Docker virtualizācijas prototipa izstrāde. Ir apskatīti programmatūras testēšanas vides izveides, testa būvējumu uzstādīšanas, testa vides atjaunošanas procesi, kā arī veikta šo procesu automatizācija. Ir aprakstīti izstrādātā prototipa ieguvumi, rezultāti un tālākie attīstības virzieni.Darba rezultātā ir sasniegti visi izvirzītie mērķi un dots reāls risinājuma piemērs programmatūras ražošanas procesa izpildes ātrumu uzlabošanai.

Bakalaura darbā ir 51 lappuse, 14 attēli, 7 tabulas, 60 nosaukumu informācijas avoti.

Atslēgvārdi:  docker, konteineri, virtualizācija, automatizācija, devops,  docker, containers, virtualization, automation, devops

Karlis_Rozenbergs_101REB307