Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kie-issues#964: Adapt kie-tools Jenkins staging/release jobs to build and deploy Quarkus Dev UI modules to Nexus/Maven Central #2245

Merged
merged 19 commits into from
May 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .ci/jenkins/Jenkinsfile.daily-dev-publish
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,27 @@ pipeline {
}
}
}

stage('Build and Deploy (jbpm-quarkus-devui and sonataflow-quarkus-devui)') {
steps {
dir('kie-tools') {
script {
withCredentials([usernamePassword(credentialsId: "${pipelineVars.mavenDeployRepositoryCredentialsId}", usernameVariable: 'REPOSITORY_USER', passwordVariable: 'REPOSITORY_TOKEN')]) {
configFileProvider([configFile(fileId: "${pipelineVars.mavenSettingsConfigFileId}", variable: 'MAVEN_SETTINGS_FILE')]) {
sh """#!/bin/bash -el
export KIE_TOOLS_BUILD__mavenDeploySkip=false
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... exec 'bash' '-c' 'echo -e "\n--settings=${MAVEN_SETTINGS_FILE}" >> .mvn/maven.config'
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... exec 'bash' '-c' 'echo -Dapache.repository.username=${REPOSITORY_USER} >> .mvn/maven.config'
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... exec 'bash' '-c' 'echo -Dapache.repository.password=${REPOSITORY_TOKEN} >> .mvn/maven.config'
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... exec 'bash' '-c' 'echo -Drevision=999-SNAPSHOT >> .mvn/maven.config'
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... build:prod
""".trim()
}
}
}
}
}
}
}

post {
Expand Down
44 changes: 43 additions & 1 deletion .ci/jenkins/Jenkinsfile.release-build
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ pipeline {
string(description: 'Base Ref', name: 'BASE_REF')
string(description: 'Release Version', name: 'RELEASE_VERSION', defaultValue: '0.0.0')
string(description: 'Upload asset url', name: 'UPLOAD_ASSET_URL', defaultValue: '')
string(description: 'Runners', name: 'RUNNERS', defaultValue: '{"dev_deployment_base_image":"false","dev_deployment_kogito_quakus_blank_app_image":"false","dev_deployment_dmn_form_webapp_image":"false","dev_deployment_upload_service":"false","kie_sandbox_image":"false","kie_sandbox_extended_services_image":"false","cors_proxy_image":"false","online_editor":"false", "chrome_extensions":"false","vscode_extensions_dev":"false","vscode_extensions_prod":"false","npm_packages":"false","standalone_editors_cdn":"false","extended_services":"false","serverless_logic_web_tools":"false","serverless_logic_web_tools_swf_builder_image":"false","serverless_logic_web_tools_base_builder_image":"false","serverless_logic_web_tools_swf_dev_mode_image":"false","dashbuilder_viewer_image":"false","kn_plugin_workflow":"false","kie_sandbox_helm_chart":"false","kogito_task_console":"false","kogito_management_console":"false","kogito_swf_builder":"false","kogito_swf_devmode":"false","kogito_serverless_operator":"false"}')
string(description: 'Runners', name: 'RUNNERS', defaultValue: '{"dev_deployment_base_image":"false","dev_deployment_kogito_quakus_blank_app_image":"false","dev_deployment_dmn_form_webapp_image":"false","dev_deployment_upload_service":"false","kie_sandbox_image":"false","kie_sandbox_extended_services_image":"false","cors_proxy_image":"false","online_editor":"false", "chrome_extensions":"false","vscode_extensions_dev":"false","vscode_extensions_prod":"false","npm_packages":"false","standalone_editors_cdn":"false","extended_services":"false","serverless_logic_web_tools":"false","serverless_logic_web_tools_swf_builder_image":"false","serverless_logic_web_tools_base_builder_image":"false","serverless_logic_web_tools_swf_dev_mode_image":"false","dashbuilder_viewer_image":"false","kn_plugin_workflow":"false","kie_sandbox_helm_chart":"false","kogito_task_console":"false","kogito_management_console":"false","kogito_swf_builder":"false","kogito_swf_devmode":"false","kogito_serverless_operator":"false","jbpm_quarkus_devui":"false","sonataflow_quarkus_devui":"false"}')
}

environment {
Expand Down Expand Up @@ -99,6 +99,8 @@ pipeline {
env.KOGITO_SWF_BUILDER = runners.kogito_swf_builder
env.KOGITO_SWF_DEVMODE = runners.kogito_swf_devmode
env.KOGITO_SERVERLESS_OPERATOR = runners.kogito_serverless_operator
env.JBPM_QUARKUS_DEVUI = runners.jbpm_quarkus_devui
env.SONATAFLOW_QUARKUS_DEVUI = runners.sonataflow_quarkus_devui
}
}
}
Expand Down Expand Up @@ -132,6 +134,8 @@ pipeline {
echo "kogito_swf_builder: ${env.KOGITO_SWF_BUILDER}"
echo "kogito_swf_devmode: ${env.KOGITO_SWF_DEVMODE}"
echo "kogito_serverless_operator: ${env.KOGITO_SERVERLESS_OPERATOR}"
echo "jbpm_quarkus_devui: ${env.JBPM_QUARKUS_DEVUI}"
echo "sonataflow_quarkus_devui: ${env.SONATAFLOW_QUARKUS_DEVUI}"
""".trim()
}
}
Expand Down Expand Up @@ -446,6 +450,44 @@ pipeline {
}
}

stage('JBPM Quarkus Dev UI') {
when {
expression { env.JBPM_QUARKUS_DEVUI == 'true' }
}
steps {
script {
env.JBPM_QUARKUS_DEVUI_JOB_RESULT = build(
wait: true,
job: 'KIE/kie-tools/kie-tools-release-jobs/jbpm-quarkus-devui',
parameters: [
booleanParam(name: 'DRY_RUN', value: "${params.DRY_RUN}"),
string(name: 'BASE_REF', value: "${params.BASE_REF}"),
string(name: 'RELEASE_VERSION', value: "${params.RELEASE_VERSION}")
]
).result
}
}
}

stage('Sonataflow Quarkus Dev UI') {
when {
expression { env.SONATAFLOW_QUARKUS_DEVUI == 'true' }
}
steps {
script {
env.SONATAFLOW_QUARKUS_DEVUI_JOB_RESULT = build(
wait: true,
job: 'KIE/kie-tools/kie-tools-release-jobs/sonataflow-quarkus-devui',
parameters: [
booleanParam(name: 'DRY_RUN', value: "${params.DRY_RUN}"),
string(name: 'BASE_REF', value: "${params.BASE_REF}"),
string(name: 'RELEASE_VERSION', value: "${params.RELEASE_VERSION}")
]
).result
}
}
}

stage('Dependant build #1') {
stages {
stage('Dev Deployment Base Image') {
Expand Down
2 changes: 1 addition & 1 deletion .ci/jenkins/Jenkinsfile.release-dry-run
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ pipeline {
build job: 'KIE/kie-tools/kie-tools-release-build', parameters: [
booleanParam(name: 'DRY_RUN', value: true),
string(name: 'BASE_REF', value: 'main'),
string(name: 'RUNNERS', value: '{"dev_deployment_base_image":"true","dev_deployment_kogito_quakus_blank_app_image":"true","dev_deployment_dmn_form_webapp_image":"true","dev_deployment_upload_service":"true","kie_sandbox_image":"true","kie_sandbox_extended_services_image":"true","cors_proxy_image":"true","online_editor":"true","chrome_extensions":"true","vscode_extensions_dev":"true","vscode_extensions_prod":"true","npm_packages":"true","standalone_editors_cdn":"true","extended_services":"true","serverless_logic_web_tools":"true","serverless_logic_web_tools_swf_builder_image":"true","serverless_logic_web_tools_base_builder_image":"true","serverless_logic_web_tools_swf_dev_mode_image":"true","dashbuilder_viewer_image":"true","kn_plugin_workflow":"true","kie_sandbox_helm_chart":"true","kogito_task_console":"true","kogito_management_console":"true","kogito_swf_builder":"true","kogito_swf_devmode":"true","kogito_serverless_operator":"true"}')
string(name: 'RUNNERS', value: '{"dev_deployment_base_image":"true","dev_deployment_kogito_quakus_blank_app_image":"true","dev_deployment_dmn_form_webapp_image":"true","dev_deployment_upload_service":"true","kie_sandbox_image":"true","kie_sandbox_extended_services_image":"true","cors_proxy_image":"true","online_editor":"true","chrome_extensions":"true","vscode_extensions_dev":"true","vscode_extensions_prod":"true","npm_packages":"true","standalone_editors_cdn":"true","extended_services":"true","serverless_logic_web_tools":"true","serverless_logic_web_tools_swf_builder_image":"true","serverless_logic_web_tools_base_builder_image":"true","serverless_logic_web_tools_swf_dev_mode_image":"true","dashbuilder_viewer_image":"true","kn_plugin_workflow":"true","kie_sandbox_helm_chart":"true","kogito_task_console":"true","kogito_management_console":"true","kogito_swf_builder":"true","kogito_swf_devmode":"true","kogito_serverless_operator":"true","jbpm_quarkus_devui":"false","sonataflow_quarkus_devui":"false"}')
]
}
}
Expand Down
2 changes: 1 addition & 1 deletion .ci/jenkins/Jenkinsfile.release-publish
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ pipeline {

parameters {
string(description: 'Release Version', name: 'RELEASE_VERSION', defaultValue: '0.0.0')
string(description: 'Runners', name: 'RUNNERS', defaultValue: '{"dev_deployment_base_image":"true","dev_deployment_kogito_quakus_blank_app_image":"true","dev_deployment_dmn_form_webapp_image":"true","dev_deployment_upload_service":"true","kie_sandbox_image":"true","kie_sandbox_extended_services_image":"true","cors_proxy_image":"true","online_editor":"true","chrome_extensions":"true","vscode_extensions_dev":"true","vscode_extensions_prod":"true","npm_packages":"true","standalone_editors_cdn":"true","extended_services":"true","serverless_logic_web_tools":"true","serverless_logic_web_tools_swf_builder_image":"true","serverless_logic_web_tools_base_builder_image":"true","serverless_logic_web_tools_swf_dev_mode_image":"true","dashbuilder_viewer_image":"true","kn_plugin_workflow":"true","kie_sandbox_helm_chart":"true","kogito_task_console":"true","kogito_management_console":"true","kogito_swf_builder":"true","kogito_serverless_operator":"true"}')
string(description: 'Runners', name: 'RUNNERS', defaultValue: '{"dev_deployment_base_image":"true","dev_deployment_kogito_quakus_blank_app_image":"true","dev_deployment_dmn_form_webapp_image":"true","dev_deployment_upload_service":"true","kie_sandbox_image":"true","kie_sandbox_extended_services_image":"true","cors_proxy_image":"true","online_editor":"true","chrome_extensions":"true","vscode_extensions_dev":"true","vscode_extensions_prod":"true","npm_packages":"true","standalone_editors_cdn":"true","extended_services":"true","serverless_logic_web_tools":"true","serverless_logic_web_tools_swf_builder_image":"true","serverless_logic_web_tools_base_builder_image":"true","serverless_logic_web_tools_swf_dev_mode_image":"true","dashbuilder_viewer_image":"true","kn_plugin_workflow":"true","kie_sandbox_helm_chart":"true","kogito_task_console":"true","kogito_management_console":"true","kogito_swf_builder":"true","kogito_serverless_operator":"true","jbpm_quarkus_devui":"true","sonataflow_quarkus_devui":"true"}')
}

stages {
Expand Down
29 changes: 28 additions & 1 deletion .ci/jenkins/Jenkinsfile.staging-build
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,16 @@ pipeline {
}
}
}

stage('STAGING: Build and Deploy (jbpm-quarkus-devui and sonataflow-quarkus-devui)') {
steps {
dir('kie-tools') {
script {
buildAndDeployDevUiJavaPackages()
}
}
}
}
}

post {
Expand Down Expand Up @@ -698,7 +708,6 @@ def build() {
export SERVERLESS_LOGIC_WEB_TOOLS__samplesRepositoryRef=${params.RELEASE_VERSION}
export SERVERLESS_LOGIC_WEB_TOOLS__buildInfo="${params.RELEASE_VERSION} (staging) @ ${params.COMMIT_SHA}"
export SERVERLESS_LOGIC_WEB_TOOLS__corsProxyUrl=https://staging-cors-proxy-kie-sandbox.rhba-0ad6762cc85bcef5745bb684498c2436-0000.us-south.containers.appdomain.cloud

pnpm -r --workspace-concurrency=1 build:prod
""".trim()
}
Expand Down Expand Up @@ -1109,6 +1118,24 @@ def buildImage(String packageName) {
""".trim()
}

def buildAndDeployDevUiJavaPackages() {
withCredentials([usernamePassword(credentialsId: "${pipelineVars.mavenDeployRepositoryCredentialsId}", usernameVariable: 'REPOSITORY_USER', passwordVariable: 'REPOSITORY_TOKEN')]) {
configFileProvider([configFile(fileId: "${pipelineVars.mavenSettingsConfigFileId}", variable: 'MAVEN_SETTINGS_FILE')]) {
sh """#!/bin/bash -el
export KIE_TOOLS_BUILD__runEndToEndTests=false
export KIE_TOOLS_BUILD__runTests=false
export KIE_TOOLS_BUILD__runLinters=false
export KIE_TOOLS_BUILD__mavenDeploySkip=false
pnpm update-version-to ${params.RELEASE_VERSION}-SNAPSHOT -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui...
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... exec 'bash' '-c' 'echo -e "\n--settings=${MAVEN_SETTINGS_FILE}" >> .mvn/maven.config'
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... exec 'bash' '-c' 'echo -Dapache.repository.username=${REPOSITORY_USER} >> .mvn/maven.config'
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... exec 'bash' '-c' 'echo -Dapache.repository.password=${REPOSITORY_TOKEN} >> .mvn/maven.config'
pnpm -F jbpm-quarkus-devui... -F sonataflow-quarkus-devui... build:prod
""".trim()
}
}
}

def loadLocalSharedScripts() {
pipelineVars = load '.ci/jenkins/shared-scripts/pipelineVars.groovy'
buildUtils = load '.ci/jenkins/shared-scripts/buildUtils.groovy'
Expand Down
4 changes: 2 additions & 2 deletions .ci/jenkins/Jenkinsfile.weekly-publish
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,10 @@ pipeline {
configFileProvider([configFile(fileId: "${pipelineVars.mavenSettingsConfigFileId}", variable: 'MAVEN_SETTINGS_FILE')]) {
timestampedSnapshotVersion = getTimestampedSnapshotVersion()
sh """#!/bin/bash -el
pnpm update-version-to ${timestampedSnapshotVersion} ${env.PNPM_FILTER_STRING}
pnpm ${env.PNPM_FILTER_STRING} exec 'bash' '-c' 'echo -e "\n--settings=${MAVEN_SETTINGS_FILE}" >> .mvn/maven.config'
pnpm ${env.PNPM_FILTER_STRING} exec 'bash' '-c' 'echo -Dapache.repository.username=${REPOSITORY_USER} >> .mvn/maven.config'
pnpm ${env.PNPM_FILTER_STRING} exec 'bash' '-c' 'echo -Dapache.repository.password=${REPOSITORY_TOKEN} >> .mvn/maven.config'
pnpm ${env.PNPM_FILTER_STRING} exec 'bash' '-c' 'echo -Drevision=${timestampedSnapshotVersion} >> .mvn/maven.config'
pnpm ${env.PNPM_FILTER_STRING} build:prod
""".trim()
}
Expand Down Expand Up @@ -167,7 +167,7 @@ String getTagName() {

String getTimestampedSnapshotVersion() {
if (env.PACKAGE_VERSION == '0.0.0') {
return "999.0.0-${getDateFromCheckoutDateTime()}-SNAPSHOT"
return "999-${getDateFromCheckoutDateTime()}-SNAPSHOT"
}
return "${env.PACKAGE_VERSION}-${getDateFromCheckoutDateTime()}-SNAPSHOT"
}
Loading
Loading