diff --git a/.gitignore b/.gitignore index 21010adc50..b0ab04ba41 100644 --- a/.gitignore +++ b/.gitignore @@ -121,3 +121,4 @@ fabric.properties *.ckie /ts /temp +/docker/tomcat/conf/integry/logs.db diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..43b6a7f037 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM tomcat:9-jre8-alpine + +ENV TZ="Europe/Rome" +ENV JAVA_OPTS="-DDISABLE_DROOLS_COMPILE=TRUE -Xms512M -Xmx1G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" +ENV USERDOMAIN="STUDIO-ML" + +COPY docker/tomcat/conf/integry/ems.properties /usr/local/tomcat/conf/integry/ +COPY docker/tomcat/conf/integry/ems_automated_operations.json /usr/local/tomcat/conf/integry/ +COPY docker/tomcat/conf/integry/ems_settings.json /usr/local/tomcat/conf/integry/ +COPY ems-engine/target/ems-api.war /usr/local/tomcat/webapps/ + +EXPOSE 8080 +EXPOSE 5005 \ No newline at end of file diff --git a/build/Jenkinsfile.groovy b/build/Jenkinsfile.groovy index 6072c624e5..ead75dc17f 100644 --- a/build/Jenkinsfile.groovy +++ b/build/Jenkinsfile.groovy @@ -25,7 +25,31 @@ pipeline { bat(script: 'mvn clean install -t toolchains-jenkins.xml', returnStdout: true) archiveArtifacts(artifacts: 'ems-engine/target/*.war*', onlyIfSuccessful: true) } + stash includes: 'ems-engine/target/*.war,docker/**,Dockerfile', name: 'docker-files' + } + } + stage('Docker Build') { + steps { + node('server-build') { + echo "Building Docker image" + unstash 'docker-files' + + script { + docker.withRegistry('https://git.studioml.it/', '67a6fa18-9538-4c38-9103-886165605565') { + //def version = "${env.GIT_BRANCH.toLowerCase().replace('/', '-')}-${env.BUILD_NUMBER}"; + def branchVersion = "" + + if(env.GIT_BRANCH != "master") { + branchVersion = "-${env.GIT_BRANCH.toLowerCase().replace('/', '-')}" + } + + bat "docker buildx build --platform linux/amd64,linux/arm64 --push -t \"git.studioml.it/integry/ems-api${branchVersion}:latest\" ." + + containerImageLink "git.studioml.it/integry/ems-api-${env.GIT_BRANCH.toLowerCase().replace('/', '-')}:latest}" + } + } + } } } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..a846857b81 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +services: + tomcat: + build: ./ + restart: unless-stopped + ports: + - "8080:8080" + - "5005:5005" + volumes: + - ./docker/tomcat/conf/integry:/usr/local/tomcat/conf/integry + extra_hosts: + - host.docker.internal:host-gateway \ No newline at end of file diff --git a/docker/tomcat/conf/integry/ems.properties b/docker/tomcat/conf/integry/ems.properties new file mode 100644 index 0000000000..274a29a975 --- /dev/null +++ b/docker/tomcat/conf/integry/ems.properties @@ -0,0 +1,13 @@ +ini.path=C:/MLSetupWS +global.connection.ini.path=C:/MLSetupWS/connectDB.ini +endpoint.ws=http://localhost:8080 +endpoint.brt.ws=http://10.0.0.12:9005/easyspeddews?wsdl +receipts.folder=C:/WEB_SHARE/SCONTRINI +crontime.folder= +quartz.enabled=false +cron.expr=0 0/2 * 1/1 * ? * +default.printer.name=Samsung SCX-4x24 Series PCL 6 +default.database=gramm +default.nodatabase.login=integry_ems_psw_system_legacy +amazon.import.enabled=false +sh.import.enabled=false \ No newline at end of file diff --git a/docker/tomcat/conf/integry/ems_automated_operations.json b/docker/tomcat/conf/integry/ems_automated_operations.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/docker/tomcat/conf/integry/ems_automated_operations.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/docker/tomcat/conf/integry/ems_settings.json b/docker/tomcat/conf/integry/ems_settings.json new file mode 100644 index 0000000000..174acd4262 --- /dev/null +++ b/docker/tomcat/conf/integry/ems_settings.json @@ -0,0 +1,70 @@ +{ + "accessTokenExpireMinutes" : 30, + "refreshTokenExpireDays" : 14, + "defaultProfile" : "BIOLEVANTE", + "primaryInstance" : true, + "enableTokenCaching" : false, + "systemPassword" : "?MF!jbI+&OkA", + "availableConnections" : [ { + "profileName" : "BIOLEVANTE", + "connectionType" : "MSSQL", + "dbName" : "biolevante", + "username" : "sa", + "password" : "sa", + "host" : "192.168.2.220", + "encryptedDbPsw" : false, + "internalDb" : true + }, { + "profileName" : "INTEGRY", + "connectionType" : "MSSQL", + "dbName" : "studioml", + "username" : "sa", + "password" : "sa", + "host" : "192.168.2.220", + "encryptedDbPsw" : false, + "internalDb" : true + }, { + "profileName" : "MENU", + "connectionType" : "MSSQL", + "dbName" : "menu", + "username" : "sa", + "password" : "sZ", + "host" : "192.168.2.220", + "encryptedDbPsw" : true, + "internalDb" : true + }, { + "profileName" : "STUDIOML_HISTORY", + "connectionType" : "MSSQL", + "dbName" : "studioml_history", + "username" : "sa", + "password" : "sa", + "host" : "192.168.2.220", + "encryptedDbPsw" : false, + "internalDb" : false + } ], + "defaultMailConfiguration" : { + "from" : "developer@integry.it", + "smtp" : "smtp.integry.it", + "port" : 25, + "enableSSL" : false, + "username" : "developer@integry.it", + "password" : "kC!Dxg7@aMxvH-FX", + "encryptedPassword" : false + }, + "loggerConfiguration" : { + "level" : "DEBUG", + "deleteDays" : 7, + "dbDeleteDays" : 15, + "dbMaxSize" : "1G" + }, + "enablePermissionCheck" : false, + "minioConfiguration" : { + "host" : "192.168.2.206", + "port" : 9000, + "accessKey" : "integry_minio", + "secretKey" : "9yMd3@0.GPKf", + "enabled" : true, + "enableOldSave" : false, + "excludedEntities" : [ ] + } +} \ No newline at end of file