4.0.0 org.thingsboard 4.4.0-SNAPSHOT msa org.thingsboard.msa web-ui pom ThingsBoard Web UI Microservice https://thingsboard.io Service for hosting ThingsBoard Web UI UTF-8 ${basedir}/../.. tb-web-ui js tb-web-ui tb-web-ui js process-resources package ${project.build.directory}/package/linux ${project.build.directory}/package/windows pre-integration-test org.thingsboard ui-ngx ${project.version} jar provided com.sun.winsw winsw bin exe provided com.github.eirslett frontend-maven-plugin target ${basedir} install node and yarn install-node-and-yarn v22.22.2 v1.22.22 yarn install yarn install --non-interactive --check-files --network-concurrency 4 --network-timeout 100000 --mutex network yarn pkg yarn compile run pkg org.apache.maven.plugins maven-clean-plugin ${basedir}/node_modules org.apache.maven.plugins maven-dependency-plugin extract-web-ui unpack org.thingsboard ui-ngx jar false ${project.build.directory}/web copy-winsw-service package copy com.sun.winsw winsw bin exe service.exe ${pkg.win.dist} org.apache.maven.plugins maven-resources-plugin copy-src-root process-resources copy-resources ${project.build.directory}/src ${basedir} package.json yarn.lock false org.thingsboard gradle-maven-plugin org.apache.maven.plugins maven-assembly-plugin org.codehaus.mojo exec-maven-plugin build-docker-image pre-integration-test exec ${dockerfile.skip} docker ${project.build.directory} build -t ${docker.repo}/${docker.name}:latest . tag-docker-image pre-integration-test exec ${dockerfile.skip} docker tag ${docker.repo}/${docker.name}:latest ${docker.repo}/${docker.name}:${project.version} yarn-start yarn-start com.github.eirslett frontend-maven-plugin target ${basedir} yarn start yarn start push-docker-image push-docker-image org.codehaus.mojo exec-maven-plugin push-latest-docker-image pre-integration-test exec docker push ${docker.repo}/${docker.name}:latest push-version-docker-image pre-integration-test exec docker push ${docker.repo}/${docker.name}:${project.version} jenkins Jenkins Repository https://repo.jenkins-ci.org/releases false