[SECIOTSRK-682] +CI process for Docker
authorm.dalakov <m.dalakov@samsung.com>
Mon, 6 Nov 2017 18:57:57 +0000 (20:57 +0200)
committerm.dalakov <m.dalakov@samsung.com>
Mon, 6 Nov 2017 18:57:57 +0000 (20:57 +0200)
servers/configuration/docker/teamcity.sh [new file with mode: 0644]

diff --git a/servers/configuration/docker/teamcity.sh b/servers/configuration/docker/teamcity.sh
new file mode 100644 (file)
index 0000000..98824d8
--- /dev/null
@@ -0,0 +1,69 @@
+#! /bin/sh
+
+IOTSWSEC=/usr/iotswsec-docker
+IOTSWSEC_BAK=/usr/iotswsec-docker-bak
+TEAMCITY_SCRIPT=$IOTSWSEC/iotswsec/servers/configuration/docker
+
+echo '================================================STOP========================================'
+docker stack rm swsec
+docker stop $(docker ps -a -q)
+docker rm $(docker ps -a -q)
+
+echo '================================================BACKUP======================================'
+NOW=`date +%Y-%m-%d:%H:%M:%S`
+tar -czvf $IOTSWSEC_BAK/iotswsec-docker-$NOW.tar.gz $IOTSWSEC
+
+echo '==========================================DELETE OLD VERSION================================'
+rm -r $IOTSWSEC/iotswsec
+
+echo '===========================================GET LAST VERSION================================='
+cd $IOTSWSEC
+git clone ssh://git@github.sec.samsung.net/RS7-SECIOTSRK/iotswsec.git
+cd iotswsec
+git checkout server
+chmod a+x $TEAMCITY_SCRIPT/teamcity.sh
+
+echo '============================================BUILD SERVICES=================================='
+cd $IOTSWSEC/iotswsec/servers/services
+mvn docker:build
+
+echo '=========================================BUILD IOTIVITY CLOUD==============================='
+cd $IOTSWSEC/iotswsec/cloud
+mvn clean install -Dmaven.test.skip=true docker:build
+
+echo '============================================BUILD SERVERS==================================='
+cd $IOTSWSEC/iotswsec/servers
+mvn -Pdocker clean install -Dmaven.test.skip=true docker:build
+
+echo '================================================START======================================='
+docker stack deploy -c docker-compose.yml swsec
+
+sleep 30
+echo '==========================================INTEGRATION TESTS================================='
+cd $IOTSWSEC/iotswsec/servers/api-integration-tests
+mvn -Pci clean install -Dmaven.test.skip=true
+mvn test
+if [ "$?" -eq 0 ]; then
+  echo '============================================================================================'
+  echo 'INTEGRATION TESTS SUCCESS'
+  echo 'NEW BUILD MQ & DSM IS RUNNING'
+  exit 0
+else 
+  echo '============================================================================================'
+  echo "INTEGRATION TESTS FAILS"
+fi
+
+echo '===================================RESTORE AND RUN OLD VERSION================================'
+echo '================================================STOP=========================================='
+docker stack rm swsec
+docker stop $(docker ps -a -q)
+docker rm $(docker ps -a -q)
+
+echo '=============================================EXTRACT=========================================='
+tar --overwrite -xf $IOTSWSEC_BAK/iotswsec-docker-$NOW.tar.gz -C /
+chmod a+x $TEAMCITY_SCRIPT/teamcity.sh
+
+echo '==============================================START==========================================='
+docker stack deploy -c docker-compose.yml swsec
+
+exit 1
\ No newline at end of file