[jbosstools-issues] [JBoss JIRA] (JBIDE-24182) wrap staging/release process with pipeline job

Nick Boldt (JIRA) issues at jboss.org
Fri Mar 31 11:54:00 EDT 2017


    [ https://issues.jboss.org/browse/JBIDE-24182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13387444#comment-13387444 ] 

Nick Boldt edited comment on JBIDE-24182 at 3/31/17 11:53 AM:
--------------------------------------------------------------

Steps to script are as follows (copied from [4])

{code}
// https://issues.jboss.org/browse/JBIDE-22819 
// ###########################################

// Verify correct version set in org.jboss.tools.foundation.core and devstudio.core.central
// Verify all branches have been created
// Verify all root poms point to the correct parent pom version
build("jbosstools-push-to-staging-01-check-versions-branches-root-poms_master", 
      stream_jbt: params["stream_jbt"], 
      stream_ds: params["stream_ds"], 
      github_branch: params["github_branch"],
      version_parent: params["version_parent"],
      version_jbt: params["version_jbt"], 
      version_ds: params["version_ds"]
     )

// Disable jobs by hand as it needs to be run as a kerberos user - see release guide!

// Build Discovery Sites
build("jbosstools-discovery_" + params["stream_jbt"],
      VERSION: params["BUILD_ALIAS"],
      TARGET_PLATFORM_VERSION_MAX: params["TARGET_PLATFORM_VERSION_MAX"],
	  TARGET_PLATFORM_CENTRAL_MAX: params["TARGET_PLATFORM_CENTRAL_MAX"]
     )

// Copy & rename builds & update sites from "snapshots" to "staging"
build("jbosstools-push-to-staging-02-copy-builds-and-update-sites_master",
      stream_jbt: params["stream_jbt"], 
      stream_ds: params["stream_ds"], 
      versionWithRespin_jbt: params["versionWithRespin_jbt"], 
      versionWithRespin_ds: params["versionWithRespin_ds"],
      TARGET_PLATFORM_VERSION_MAX: params["TARGET_PLATFORM_VERSION_MAX"],
	  TARGET_PLATFORM_CENTRAL_MAX: params["TARGET_PLATFORM_CENTRAL_MAX"]
     )

// Verify sites are correctly populated using curl | grep to check for contents / 404s; fail if anything missing
build("jbosstools-push-to-staging-03-verify-builds-update-sites_master",
      versionWithRespin_jbt: params["versionWithRespin_jbt"],
      versionWithRespin_ds: params["versionWithRespin_ds"]
     )

// generate PR for Update http://download.jboss.org/jbosstools/neon/staging/updates/
// See https://dev-platform-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Devstudio/view/jbosstools-releng/job/jbosstools-releng-push-to-staging-04-update-merge-composites-html/

// generate PR for Release the latest staging site to ide-config.properties
// See https://dev-platform-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Devstudio/view/jbosstools-releng/job/jbosstools-releng-push-to-staging-04-update-ide-config.properties/

// re-enable jobs -- see https://github.com/jbdevstudio/jbdevstudio-devdoc/blob/master/release_guide/10/JBT_Staging.adoc#enable-jobs
// disable this job

// TODO: enable this when the above steps are automated - can't send emails until PRs are applied
// generate notification emails
//build("jbosstools-push-to-staging-07-notification-emails_master",
//      version_jbt: params["version_jbt"], 
//      version_ds: params["version_ds"],
//      versionWithRespin_jbt: params["versionWithRespin_jbt"], 
//      versionWithRespin_ds: params["versionWithRespin_ds"],
//      TARGET_PLATFORM_VERSION_MIN: params["TARGET_PLATFORM_VERSION_MIN"],
//      TARGET_PLATFORM_VERSION_MAX: params["TARGET_PLATFORM_VERSION_MAX"],
//	  TARGET_PLATFORM_CENTRAL_MAX: params["TARGET_PLATFORM_CENTRAL_MAX"],
//	  respinSuffix: params["respinSuffix"]
//     )
{code}

[4] https://jenkins.hosts.mwqe.eng.bos.redhat.com/hudson/view/DevStudio/view/jbosstools-releng/job/jbosstools-releng-push-to-staging-buildflow_master_DEPRECATED/


was (Author: nickboldt):
Steps to script are as follows (copied from [4])

{code}
// https://issues.jboss.org/browse/JBIDE-22819 
// ###########################################

// Verify correct version set in org.jboss.tools.foundation.core and devstudio.core.central
// Verify all branches have been created
// Verify all root poms point to the correct parent pom version
build("jbosstools-push-to-staging-01-check-versions-branches-root-poms_master", 
      stream_jbt: params["stream_jbt"], 
      stream_ds: params["stream_ds"], 
      github_branch: params["github_branch"],
      version_parent: params["version_parent"],
      version_jbt: params["version_jbt"], 
      version_ds: params["version_ds"]
     )

// Disable jobs by hand as it needs to be run as a kerberos user - see release guide!

// Build Discovery Sites
build("jbosstools-discovery_" + params["stream_jbt"],
      VERSION: params["BUILD_ALIAS"],
      TARGET_PLATFORM_VERSION_MAX: params["TARGET_PLATFORM_VERSION_MAX"],
	  TARGET_PLATFORM_CENTRAL_MAX: params["TARGET_PLATFORM_CENTRAL_MAX"]
     )

// Copy & rename builds & update sites from "snapshots" to "staging"
build("jbosstools-push-to-staging-02-copy-builds-and-update-sites_master",
      stream_jbt: params["stream_jbt"], 
      stream_ds: params["stream_ds"], 
      versionWithRespin_jbt: params["versionWithRespin_jbt"], 
      versionWithRespin_ds: params["versionWithRespin_ds"],
      TARGET_PLATFORM_VERSION_MAX: params["TARGET_PLATFORM_VERSION_MAX"],
	  TARGET_PLATFORM_CENTRAL_MAX: params["TARGET_PLATFORM_CENTRAL_MAX"]
     )

// Verify sites are correctly populated using curl | grep to check for contents / 404s; fail if anything missing
build("jbosstools-push-to-staging-03-verify-builds-update-sites_master",
      versionWithRespin_jbt: params["versionWithRespin_jbt"],
      versionWithRespin_ds: params["versionWithRespin_ds"]
     )

// generate PR for Update http://download.jboss.org/jbosstools/neon/staging/updates/
// See https://dev-platform-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Devstudio/view/jbosstools-releng/job/jbosstools-releng-push-to-staging-04-update-merge-composites-html/

// generate PR for Release the latest staging site to ide-config.properties
// See https://dev-platform-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Devstudio/view/jbosstools-releng/job/jbosstools-releng-push-to-staging-04-update-ide-config.properties/

// re-enable jobs -- see https://github.com/jbdevstudio/jbdevstudio-devdoc/blob/master/release_guide/10/JBT_Staging.adoc#enable-jobs
// disable this job

// TODO: enable this when the above steps are automated - can't send emails until PRs are applied
// generate notification emails
//build("jbosstools-push-to-staging-07-notification-emails_master",
//      version_jbt: params["version_jbt"], 
//      version_ds: params["version_ds"],
//      versionWithRespin_jbt: params["versionWithRespin_jbt"], 
//      versionWithRespin_ds: params["versionWithRespin_ds"],
//      TARGET_PLATFORM_VERSION_MIN: params["TARGET_PLATFORM_VERSION_MIN"],
//      TARGET_PLATFORM_VERSION_MAX: params["TARGET_PLATFORM_VERSION_MAX"],
//	  TARGET_PLATFORM_CENTRAL_MAX: params["TARGET_PLATFORM_CENTRAL_MAX"],
//	  respinSuffix: params["respinSuffix"]
//     )
{code}

> wrap staging/release process with pipeline job
> ----------------------------------------------
>
>                 Key: JBIDE-24182
>                 URL: https://issues.jboss.org/browse/JBIDE-24182
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 4.4.1.AM2
>            Reporter: Nick Boldt
>            Assignee: Nick Boldt
>             Fix For: 4.5.0.AM1
>
>
> In JBIDE-22819 I created a buildflow job to orchestrate the steps involved in staging or release of jbt/ds.
> However, on CCI we can now write a pipeline job [1] in groovy, which can trigger downstream builds [2] and wait for approval/input [3] before continuing. This might be an ever better visualization & control for these stages/releases.
> [1] https://dev-platform-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/vscode-java_release -> https://github.com/redhat-developer/vscode-java/blob/master/Jenkinsfile
> [2] https://jenkins.io/doc/pipeline/steps/pipeline-build-step/#build-build-a-job
> [3] https://github.com/redhat-developer/vscode-java/blob/master/Jenkinsfile#L68



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jbosstools-issues mailing list