From 802c194672c8791dbabcc5a6a7e2f19b8e7ce322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=A2=D0=BE=D0=BB?= =?UTF-8?q?=D1=81=D1=82=D1=8B=D1=85?= Date: Fri, 30 Jan 2026 21:01:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D0=B0=D0=BD?= =?UTF-8?q?=D1=82=D1=8B,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=BD=D1=8B=D0=B9?= =?UTF-8?q?=20Jenkinsfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 82 ++++++++++++++++++ build.gradle | 2 +- ncore-properties.xml | 3 +- src/main/java/biz/redsoft/sample/Product.java | 2 +- src/main/java/biz/redsoft/sample/Version.java | 2 +- .../VAADIN/themes/img/page_white_delete.png | Bin 953 -> 0 bytes .../VAADIN/themes/img/upload_file.gif | Bin 1016 -> 0 bytes src/main/webapp/WEB-INF/ncore-properties.xml | 3 +- .../biz/redsoft/sample/TomcatStarter.java | 2 +- 9 files changed, 90 insertions(+), 6 deletions(-) create mode 100644 Jenkinsfile delete mode 100644 src/main/resources/META-INF/resources/VAADIN/themes/img/page_white_delete.png delete mode 100644 src/main/resources/META-INF/resources/VAADIN/themes/img/upload_file.gif diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..275d5e2 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,82 @@ +pipeline { + agent any + + environment { + PRODUCT_NAME = '<%%RESERVED_NAME%%>' + PRODUCT_GROUP = '<%%RESERVED_GROUPNAME%%>' + } + + stages { + stage('Checkout') { + steps { + checkout scm + } + } + stage('Extract VERSION') { + steps { + script { + env.VERSION = sh( + script: ''' + set -e + VERSION_FILE=src/main/resources/META-INF/ncore-product/$PRODUCT_GROUP/version.properties + VERSION=$(sed -n 's/^version=//p' "$VERSION_FILE") + + if [[ ! "$VERSION" =~ ^[0-9]+(.[0-9]+)*(-[A-Za-z]+)?$ ]]; then + echo "Invalid version format: $VERSION" >&2 + exit 1 + fi + + echo "$VERSION" + ''', + returnStdout: true + ).trim() + } + } + } + + stage('Make gradlew executable') { + steps { + sh 'chmod +x ./gradlew' + } + } + + stage('Build with Gradle') { + steps { + sh './gradlew clean' + sh './gradlew nTDC nbackup build copyDist publish dockerFile dockerUD rdbDockerFile' + } + } + + stage('Build and Push Docker Images') { + steps { + script { + withCredentials([usernamePassword(credentialsId: 'build', usernameVariable: 'USER', passwordVariable: 'PASS')]) { + sh ''' + echo "$PASS" | docker login --username "$USER" --password-stdin $REGISTRY + ''' + def appImage = "<%%FACTORY_REGISTRY_IMAGE%%>:${env.VERSION}" + sh "cd build/docker && docker build -t ${appImage} ." + sh "docker push ${appImage}" + + def rdbImage = "<%%FACTORY_REGISTRY_IMAGE%%>-db:${env.VERSION}" + sh "cd build/docker && docker build -t ${rdbImage} ." + sh "docker push ${rdbImage}" + + def udbImage = "<%%FACTORY_REGISTRY_IMAGE%%>-update-db:${env.VERSION}" + sh "cd build/docker && docker build -t ${udbImage} ." + sh "docker push ${udbImage}" + } + } + } + } + } + + post { + success { + echo "Проект ${env.PRODUCT_NAME} успешно собран на версии ${env.VERSION}" + } + failure { + echo "Проект ${env.PRODUCT_NAME} не собрался на версии ${env.VERSION}!" + } + } +} \ No newline at end of file diff --git a/build.gradle b/build.gradle index 5f91686..b5f0fca 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ ncore { sourceEncoding = 'UTF-8' } -group = 'biz.redsoft.<%%RESERVED_NAME%%>' +group = '<%%RESERVED_GROUPNAME%%>' repositories { maven { diff --git a/ncore-properties.xml b/ncore-properties.xml index e367d56..6421077 100644 --- a/ncore-properties.xml +++ b/ncore-properties.xml @@ -4,7 +4,8 @@ Configuration settings for ncore platform - <%%RESERVED_NAME%%> + <%%RESERVED_GROUPNAME%%> + <%%RESERVED_NAME%%> <%%RESERVED_NAME%%> ncore project diff --git a/src/main/java/biz/redsoft/sample/Product.java b/src/main/java/biz/redsoft/sample/Product.java index 4d0ee6c..32e4268 100644 --- a/src/main/java/biz/redsoft/sample/Product.java +++ b/src/main/java/biz/redsoft/sample/Product.java @@ -1,4 +1,4 @@ -package biz.redsoft.<%%RESERVED_NAME%%>; +package <%%RESERVED_GROUPNAME%%>; import biz.redsoft.ncore.system.application.Application; diff --git a/src/main/java/biz/redsoft/sample/Version.java b/src/main/java/biz/redsoft/sample/Version.java index 8c428ee..95cea54 100644 --- a/src/main/java/biz/redsoft/sample/Version.java +++ b/src/main/java/biz/redsoft/sample/Version.java @@ -1,4 +1,4 @@ -package biz.redsoft.<%%RESERVED_NAME%%>; +package <%%RESERVED_GROUPNAME%%>; import biz.redsoft.util.IncorrectVersionFormat; import biz.redsoft.util.VersionUtils; diff --git a/src/main/resources/META-INF/resources/VAADIN/themes/img/page_white_delete.png b/src/main/resources/META-INF/resources/VAADIN/themes/img/page_white_delete.png deleted file mode 100644 index 644935f456946f31e4985ed2da1159210c527867..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 953 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47*hj$LR=Xc7~VS>d{ot#$IbuB z*!*L>`*lU7{pz}_`9;1|#C-5I{a~s0+ROS=qT6;6smGRv@3f6RxEbHpR^K5c`QB9P zmWIm5D2LbDMymxxpNY$#6_tBdQv6y%@uQa3*WTv$zUChSEI-D(ytUW=5N`V^-ThOt z+dE^OtFj88Qa!%5XP*?7d1t2cMOkgFnDl!!)m6O0?~JrJ^NGIG(D)E$``*=fF^}M< zSjUesj$eCp7$m+hd@(po? zHwNZ+g=MZuD&7^5eebOQF~V+_mhMdnh4)T|UwT@;bT(cQSNPOf|7}Xk0~zH{k@hd_ zOujVd>{QqOobK^4(e?Y()~6;`U*aN<%d34(^LXuH@uaBWMQQPul(09RX78O1_6bUS z>S%ZI9nsM$opT!x2Hd*j;5((i zvC%)|tb*UI35r4IJ*M?CFPYNpd(GqgbjR>^&se6U87)?m`}CNbSK1k$u}Z5AW@Grd XT#;>3%AEqBXBj+Q{an^LB{Ts5*TXJ# diff --git a/src/main/resources/META-INF/resources/VAADIN/themes/img/upload_file.gif b/src/main/resources/META-INF/resources/VAADIN/themes/img/upload_file.gif deleted file mode 100644 index 9bffce7bc15b32a399c7a8ab41f748e93475e21c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1016 zcmZ?wbhEHblw*)&_|5Z~8j>+Z!{Jh zXqwH+(y}MwlcF=bL$g&t!=@D%n~WtjLZymQy=O?KR+XGM@QkTbM>DBsS3w#xGoyfx zM!}Wk*V!C|WnxcndmG4H@c2~fg>9Lx-TK?ra!!0uY-Z4U|LMu8>kpeZ2&so%sV+!< zILmxJ8$(UQM#tkd&i7m#HfcON!?;fF?;e2{%Configuration settings for ncore platform - <%%RESERVED_NAME%%> + <%%RESERVED_GROUPNAME%%> + <%%RESERVED_NAME%%> <%%RESERVED_NAME%%> ncore project diff --git a/src/test/java/biz/redsoft/sample/TomcatStarter.java b/src/test/java/biz/redsoft/sample/TomcatStarter.java index cc6f804..772526b 100644 --- a/src/test/java/biz/redsoft/sample/TomcatStarter.java +++ b/src/test/java/biz/redsoft/sample/TomcatStarter.java @@ -35,7 +35,7 @@ * exception statement from your version. */ -package biz.redsoft.<%%RESERVED_NAME%%>; +package <%%RESERVED_GROUPNAME%%>; import java.io.File; import java.io.IOException;