From a9c66c71815f0b98ff58d6fbd045523332bad78b Mon Sep 17 00:00:00 2001
From: "alexander.kravchenko" <alexander.kravchenko@demlabs.net>
Date: Sat, 22 Aug 2020 13:39:37 +0500
Subject: [PATCH] added release branch support

---
 .gitlab-ci.yml                            | 12 ++++++++++++
 prod_build/linux/debian/scripts/deploy.sh | 20 ++++++++++++--------
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b6b2d30f1..a57357ddc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,4 +10,16 @@ kelvin-node-schedule:
     stage: build
     tags:
     - cellframe-node
+    only:
+    - master
+    - /^release.*$/
     script: ~/production/integration/gitlab-CI/build_all_handler.sh cellframe-node 
+
+kelvin-node-test:
+    stage: build
+    tags:
+    - cellframe-node
+    except:
+    - master
+    - /^release.*$/
+    script: ~/production/integration/gitlab-CI/build_test_handler.sh cellframe-node 
diff --git a/prod_build/linux/debian/scripts/deploy.sh b/prod_build/linux/debian/scripts/deploy.sh
index 6eeeee9b5..85bbb95da 100755
--- a/prod_build/linux/debian/scripts/deploy.sh
+++ b/prod_build/linux/debian/scripts/deploy.sh
@@ -12,11 +12,14 @@ pwd
 
 cd packages
 PKGFILES=$(ls . | grep .deb)
+MOD=$(echo $MOD | sed 's/-\?static-\?//') && [ ! $MOD = "" ] && MOD="-$MOD"
 #cd ..
 
+[[ -v CI_COMMIT_REF_NAME ]] && [[ $CI_COMMIT_REF_NAME != "master" ]] && SUBDIR="${CI_COMMIT_REF_NAME}" || SUBDIR=""
+
 #echo "We have $DISTR_CODENAME there"
 #echo "On path $REPO_DIR_SRC we have debian files."
-[[ $ONBUILDSERVER == 0 ]] && scp -i $CELLFRAME_REPO_KEY ../prod_build/linux/debian/scripts/publish_remote/reprepro.sh "$CELLFRAME_REPO_CREDS:~/tmp/"
+[[ $CI_COMMIT_REF_NAME == "master" ]] && scp -i $CELLFRAME_REPO_KEY ../prod_build/linux/debian/scripts/publish_remote/reprepro.sh "$CELLFRAME_REPO_CREDS:~/tmp/"
 for pkgfile in $PKGFILES; do
 	pkgname=$(echo $pkgfile | sed 's/.deb$//')
 	pkgname_public=$(echo $pkgname | cut -d '-' -f1-4,7-) #cutting away Debian-9.12
@@ -25,17 +28,18 @@ for pkgfile in $PKGFILES; do
 	CODENAME=$(echo $pkgname | rev | cut -d '-' -f1 | rev)
 	cp -r ../prod_build/general/essentials/weblink-latest ../prod_build/general/essentials/$pkgname_weblink
 	sed -i "/document/s/cellframe.*deb/$pkgname_public$MOD.deb/" ../prod_build/general/essentials/$pkgname_weblink/index.php
-	if [[ $ONBUILDSERVER == 0 ]]; then
-	#REPREPRO and file_cellframe_services
-		scp -i $CELLFRAME_REPO_KEY $wd/$PACKAGE_PATH/$pkgname$MOD.deb "$CELLFRAME_REPO_CREDS:~/tmp/apt/"
-		ssh -i $CELLFRAME_REPO_KEY "$CELLFRAME_REPO_CREDS" "chmod +x ~/tmp/reprepro.sh && ~/tmp/reprepro.sh main $CODENAME ~/tmp/apt/$pkgname_public$MOD.deb $CELLFRAME_REPO_PATH"
-		scp -i $CELLFRAME_REPO_KEY $wd/$PACKAGE_PATH/$pkgname$MOD.deb "$CELLFRAME_FILESERVER_CREDS:$CELLFRAME_FILESERVER_PATH/$pkgname_public$MOD.deb"
-		scp -r -i $CELLFRAME_REPO_KEY ../prod_build/general/essentials/$pkgname_weblink "$CELLFRAME_FILESERVER_CREDS:$CELLFRAME_FILESERVER_PATH/"
+	if [[ $(echo $CI_COMMIT_REF_NAME | grep "master\|^release") ]]; then
+		scp -i $CELLFRAME_REPO_KEY $wd/$PACKAGE_PATH/$pkgname$MOD.deb "$CELLFRAME_FILESERVER_CREDS:$CELLFRAME_FILESERVER_PATH/$SUBDIR/$pkgname_public$MOD.deb"
+		scp -r -i $CELLFRAME_REPO_KEY ../prod_build/general/essentials/$pkgname_weblink "$CELLFRAME_FILESERVER_CREDS:$CELLFRAME_FILESERVER_PATH/$SUBDIR/"
+		if [[ $CI_COMMIT_REF_NAME == "master" ]]; then
+			scp -i $CELLFRAME_REPO_KEY $wd/$PACKAGE_PATH/$pkgname$MOD.deb "$CELLFRAME_REPO_CREDS:~/tmp/apt/"
+			ssh -i $CELLFRAME_REPO_KEY "$CELLFRAME_REPO_CREDS" "chmod +x ~/tmp/reprepro.sh && ~/tmp/reprepro.sh main $CODENAME ~/tmp/apt/$pkgname_public$MOD.deb $CELLFRAME_REPO_PATH"
+		fi
 #		ssh -i $CELLFRAME_REPO_KEY "$CELLFRAME_FILESERVER_CREDS" "ln -sf $CELLFRAME_FILESERVER_PATH/$pkgname$MOD.deb $CELLFRAME_FILESERVER_PATH/$pkgname$MOD-latest.deb"
 	fi
 	rm -r ../prod_build/general/essentials/$pkgname_weblink
 done
-[[ $ONBUILDSERVER == 0 ]] && ssh -i $CELLFRAME_REPO_KEY "$CELLFRAME_REPO_CREDS" "rm -v ~/tmp/reprepro.sh"
+[[ $CI_COMMIT_REF_NAME == "master" ]] && ssh -i $CELLFRAME_REPO_KEY "$CELLFRAME_REPO_CREDS" "rm -v ~/tmp/reprepro.sh"
 
 #	export -n "UPDVER"
 cd ..
-- 
GitLab