diff --git a/Jenkinsfile b/Jenkinsfile index 2c5f9f27..5ebe6f05 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,7 +1,32 @@ node ('xretorch-agent') { + stage ('Clone eShopContainers Project') { + + checkout([$class: 'GitSCM', branches: [[name: '*/retorch']], + userRemoteConfigs: [[url: 'https://github.com/augustocristian/retorch-st-eShopOnContainers.git']]]) + checkout scm + }//End git stage + + stage('SETUP-Infrastructure') { + + sh 'ls -a .' + //Change the permisions to the scripts folder the + sh 'chmod +x -R ./retorchfiles/scripts' + sh './retorchfiles/scripts/coilifecycles/coi-setup.sh' + }//EndStageSETUPInf + + + stage('test') { - checkout scm + sh "sleep 10" sh "mvn test" - } + }// End test stage + post { + always { + archiveArtifacts artifacts: 'artifacts/*.csv', onlyIfSuccessful: true }//EndAlways + cleanup { + cleanWs() + sh """(eval \$CURRENT_DATE ; echo "Cleaning Environment ") | cat |tr '\n' ' ' """ + sh './retorchfiles/scripts/coilifecycles/coi-teardown.sh' }//EndCleanUp + }//EndPostActions } \ No newline at end of file diff --git a/eshopcontainers-e2etestsuite/retorchfiles/scripts/coilifecycles/coi-setup.sh b/eshopcontainers-e2etestsuite/retorchfiles/scripts/coilifecycles/coi-setup.sh new file mode 100644 index 00000000..34aa21fe --- /dev/null +++ b/eshopcontainers-e2etestsuite/retorchfiles/scripts/coilifecycles/coi-setup.sh @@ -0,0 +1,19 @@ +#!/bin/bash +OUTPUTDIRCOI="./src/retorchcostestimationdata/exec$BUILD_NUMBER/COI.data" +COISETUPSTART=$(date +%s%3N) + +#Directories to store the data +mkdir -p "./src/retorchcostestimationdata/exec$BUILD_NUMBER" +mkdir -p "./artifacts" +#Here goes the COI set-up + + +#Here ends the COI set-up + + +COISETUPEND=$(date +%s%3N) + + +echo "COI-SETUP-START;COI-SETUP-END;COI-TEARDOWN-START;COI-TEARDOWN-END" >"$OUTPUTDIRCOI" +echo -n "$COISETUPSTART;$COISETUPEND">>"$OUTPUTDIRCOI" + diff --git a/eshopcontainers-e2etestsuite/retorchfiles/scripts/coilifecycles/coi-teardown.sh b/eshopcontainers-e2etestsuite/retorchfiles/scripts/coilifecycles/coi-teardown.sh new file mode 100644 index 00000000..ccbe582b --- /dev/null +++ b/eshopcontainers-e2etestsuite/retorchfiles/scripts/coilifecycles/coi-teardown.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +COITEARDOWNSTART="$(date +%s%3N)" + +echo 'Switch off all containers...' +docker stop "$(docker ps | grep eShopContainers | awk '{print \$1}')" || echo 'All the containers are stopped!' +docker rm --volumes "$(docker ps -a | grep eShopContainers | awk '{print \$1}')" || echo 'All the containers are removed!' +sh 'retorchfiles/scripts/saveTJobLifecycledata.sh' +COITEARDOWNEND="$(date +%s%3N)" + +OUTPUTDIRCOI="./src/retorchcostestimationdata/exec$BUILD_NUMBER/COI.data" +echo -n ";$COITEARDOWNSTART;$COITEARDOWNEND" >>"$OUTPUTDIRCOI" + diff --git a/eshopcontainers-e2etestsuite/retorchfiles/scripts/saveTJobLifecycledata.sh b/eshopcontainers-e2etestsuite/retorchfiles/scripts/saveTJobLifecycledata.sh new file mode 100644 index 00000000..5fd3a30c --- /dev/null +++ b/eshopcontainers-e2etestsuite/retorchfiles/scripts/saveTJobLifecycledata.sh @@ -0,0 +1,14 @@ +#!/bin/bash +PATH_FILES="./src/retorchcostestimationdata/exec${BUILD_NUMBER}/tjob*" +OUTPUT_FILE="./artifacts/lifecycletimmingsexec${BRANCH_NAME///}-${BUILD_NUMBER}.csv" +OUTPUTDIRCOI="./src/retorchcostestimationdata/exec$BUILD_NUMBER/COI.data" +echo "tjobname;stage;COI-setup-start;COI-setup-end;tjob-setup-start;tjob-setup-end;tjob-testexec-start;tjob-testexec-end;tjob-teardown-start;tjob-teardown-end;coi-teardown-start;coi-teardown-end" >"$OUTPUT_FILE" +for csvfile in $PATH_FILES; do + { + tail -n +2 "$csvfile" + echo -n ";" + tail -n +2 "$OUTPUTDIRCOI" | rev | cut -d ';' -f 2 | rev | tr -d '\n' + echo -n ";" + tail -n +2 "$OUTPUTDIRCOI" | rev | cut -d ';' -f 1 | rev + } >>"$OUTPUT_FILE" +done diff --git a/eshopcontainers-e2etestsuite/retorchfiles/scripts/writetime.sh b/eshopcontainers-e2etestsuite/retorchfiles/scripts/writetime.sh new file mode 100644 index 00000000..980d4b61 --- /dev/null +++ b/eshopcontainers-e2etestsuite/retorchfiles/scripts/writetime.sh @@ -0,0 +1,16 @@ +#!/bin/bash +OUTPUTDIR="./src/retorchcostestimationdata/exec$BUILD_NUMBER/$2.data" +OUTPUTDIRCOI="./src/retorchcostestimationdata/exec$BUILD_NUMBER/COI.data" +if [ -f "$OUTPUTDIR" ]; then + echo -n ";$(date +%s%3N)" >>"$OUTPUTDIR" + +else + + echo "tjobname;stage;COI-setup-start;COI-setup-end;setup-start;setup-end;testexec-start;testexec-end;teardown-start;teardown-end" >"$OUTPUTDIR" + { + echo -n "$2;$1;" + tail -n +2 "$OUTPUTDIRCOI" + echo -n ";$(date +%s%3N)" + } >>"$OUTPUTDIR" + +fi