Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

*NOT YET DONE - work in progress* (We have gathered some common errors and problems seen, together with some suggested solutions - Help and error messages)

Demo jobs and example on commit messages and output

We have created some Jenkins job on our public Jenkins master that shows the plugin in action, in the version we have installed (typically latest one or even latest snapshop).

There is actually a demo job you can run, that triggers a demonstration:

The commits end up in our Github test repository called blackhole

Accumulated strategy - build console output

Version 2.3.0

Version 2.2.3

Code Block
[PREINT] Preparing environment using Pretested Integration Plugin 2.3.0-SNAPSHOT (cbd24) 
[PREINT] Checking out integration branch master:
[PREINT]  git checkout -B master origin/master
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git checkout -B master origin/master
[PREINT]  git pull origin master
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git pull origin master
[PREINT] Preparing to merge changes in commit b1e190f90a8c1a22402af4492c70ae45eb32c981 on development branch origin/ready/feature-accumulated-32 to integration branch master
[PREINT] Collecting commit messages on development branch origin/ready/feature-accumulated-32
[PREINT] Done collecting commit messages
[PREINT] Collecting author of last commit on development branch
[PREINT] Done colecting last commit author: demo-job-user <support@praqma.net> 1435686815 +0200
[PREINT] Starting accumulated merge (no-ff) - without commit:
[PREINT]  git merge -m "Accumulated commit of the following from branch 'origin/ready/feature-accumulated-32':

commit b1e190f90a8c1a22402af4492c70ae45eb32c981
Author: demo-job-user <support@praqma.net>
Date:   Tue Jun 30 19:53:35 2015 +0200

    Demo commit message for Pretested Integration:
    
    This is a longer commit message about what this commit is about.
    
    We use this commit to illustrate the Prested Integration Plugin commit messages, based on their strategies. There are two demo jobs, one for each strategy and a job that does two commits, one on two different branches to be picked up as ready branches.
    

" b1e190f90a8c1a22402af4492c70ae45eb32c981 --no-ff --no-commit
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git merge -m "Accumulated commit of the following from branch 'origin/ready/feature-accumulated-32':

commit b1e190f90a8c1a22402af4492c70ae45eb32c981
Author: demo-job-user <support@praqma.net>
Date:   Tue Jun 30 19:53:35 2015 +0200

    Demo commit message for Pretested Integration:
    
    This is a longer commit message about what this commit is about.
    
    We use this commit to illustrate the Prested Integration Plugin commit messages, based on their strategies. There are two demo jobs, one for each strategy and a job that does two commits, one on two different branches to be picked up as ready branches.
    

" b1e190f90a8c1a22402af4492c70ae45eb32c981 --no-ff --no-commit
[PREINT] Accumulated merge done
[PREINT] Merge was successful
[PREINT] Starting to commit accumulated merge changes:
[PREINT]  git commit --no-edit "--author=demo-job-user <support@praqma.net> 1435686815 +0200"
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git commit --no-edit "--author=demo-job-user <support@praqma.net> 1435686815 +0200"
[PREINT] Commit of accumulated merge done
[PREINT] Commit was successful
[pretested-integration-plugin__demo-job-accumulated-strategy] $ /bin/sh -xe /tmp/hudson2956180739635715796.sh
+ echo Build and verification was successful
Build and verification was successful
[PREINT] Performing pre-verified post build steps
[PREINT] Pushing changes to integration branch:
[PREINT]  git push origin master
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git push origin master
[PREINT] Done pushing changes
[PREINT] Deleting development branch:
[PREINT]  git push origin :ready/feature-accumulated-32
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git push origin :ready/feature-accumulated-32
[PREINT] Done deleting development branch
Code Block
[PREINT] Preparing environment using Pretested Integration Plugin 2.2.3 (5f8d7) 
Checking out integration target branch master and pulling latest changes
[PREINT]  git checkout -B master origin/master
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git checkout -B master origin/master
[PREINT]  git pull origin master
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git pull origin master
Preparing to merge changes in commit f2a7164be5c64c452f19a5eeeb0a0566fd3fecde to integration branch master
[PREINT]  git merge -m "Accumulated commit of the following from branch 'origin/ready/feature-accumulated-31':

commit f2a7164be5c64c452f19a5eeeb0a0566fd3fecde
Author: demo-job-user <support@praqma.net>
Date:   Tue Jun 30 05:48:32 2015 +0200

    Demo commit message for Pretested Integration:
    
    This is a longer commit message about what this commit is about.
    
    We use this commit to illustrate the Prested Integration Plugin commit messages, based on their strategies. There are two demo jobs, one for each strategy and a job that does two commits, one on two different branches to be picked up as ready branches.
    

" f2a7164be5c64c452f19a5eeeb0a0566fd3fecde --no-ff
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git merge -m "Accumulated commit of the following from branch 'origin/ready/feature-accumulated-31':

commit f2a7164be5c64c452f19a5eeeb0a0566fd3fecde
Author: demo-job-user <support@praqma.net>
Date:   Tue Jun 30 05:48:32 2015 +0200

    Demo commit message for Pretested Integration:
    
    This is a longer commit message about what this commit is about.
    
    We use this commit to illustrate the Prested Integration Plugin commit messages, based on their strategies. There are two demo jobs, one for each strategy and a job that does two commits, one on two different branches to be picked up as ready branches.
    

" f2a7164be5c64c452f19a5eeeb0a0566fd3fecde --no-ff
[pretested-integration-plugin__demo-job-accumulated-strategy] $ /bin/sh -xe /tmp/hudson4752198164619580916.sh
+ echo Build and verification was successful
Build and verification was successful
Performing pre-verified post build steps
[PREINT-GIT] Commiting changes
[PREINT]  git push origin master
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git push origin master
[PREINT-GIT] Deleting development branch
[PREINT]  git push origin :ready/feature-accumulated-31
[pretested-integration-plugin__demo-job-accumulated-strategy] $ git push origin :ready/feature-accumulated-31

Accumulated demo job example #32

Accumulated demo job example #31

Squashed strategy - build console output

Version 2.3.0

Version 2.2.3

Code Block
[PREINT] Preparing environment using Pretested Integration Plugin 2.3.0-SNAPSHOT (cbd24) 
[PREINT] Checking out integration branch master:
[PREINT]  git checkout -B master origin/master
[pretested-integration-plugin__demo-job-squashed-strategy] $ git checkout -B master origin/master
[PREINT]  git pull origin master
[pretested-integration-plugin__demo-job-squashed-strategy] $ git pull origin master
[PREINT] Preparing to merge changes in commit 26576c087d13a50179a13054cc6edac603271abd on development branch origin/ready/feature-squashed-32 to integration branch master
[PREINT] Collecting commit messages on development branch (for debug printing): origin/ready/feature-squashed-32
[PREINT] Done collecting commit messages
[PREINT] Collecting author of last commit on development branch
[PREINT] Done colecting last commit author: demo-job-user <support@praqma.net> 1435686849 +0200
[PREINT] Starting squash merge - without commit:
[PREINT]  git merge --squash origin/ready/feature-squashed-32
[pretested-integration-plugin__demo-job-squashed-strategy] $ git merge --squash origin/ready/feature-squashed-32
[PREINT] Squash merge done
[PREINT] Merge was successful
[PREINT] Starting to commit squash merge changes:
[PREINT]  git commit --no-edit "--author=demo-job-user <support@praqma.net> 1435686849 +0200"
[pretested-integration-plugin__demo-job-squashed-strategy] $ git commit --no-edit "--author=demo-job-user <support@praqma.net> 1435686849 +0200"
[PREINT] Commit of squashed merge done
[PREINT] Debug print - commit message for squash merge:
Demo commit message for Pretested Integration:

This is a longer commit message about what this commit is about.

We use this commit to illustrate the Prested Integration Plugin commit messages, based on their strategies. There are two demo jobs, one for each strategy and a job that does two commits, one on two different branches to be picked up as ready branches.

[PREINT] Commit was successful
[pretested-integration-plugin__demo-job-squashed-strategy] $ /bin/sh -xe /tmp/hudson3927922213950794742.sh
+ echo Build and verification was successful
Build and verification was successful
[PREINT] Performing pre-verified post build steps
[PREINT] Pushing changes to integration branch:
[PREINT]  git push origin master
[pretested-integration-plugin__demo-job-squashed-strategy] $ git push origin master
[PREINT] Done pushing changes
[PREINT] Deleting development branch:
[PREINT]  git push origin :ready/feature-squashed-32
[pretested-integration-plugin__demo-job-squashed-strategy] $ git push origin :ready/feature-squashed-32
[PREINT] Done deleting development branch
Code Block
[PREINT] Preparing environment using Pretested Integration Plugin 2.2.3 (5f8d7) 
Checking out integration target branch master and pulling latest changes
[PREINT]  git checkout -B master origin/master
[pretested-integration-plugin__demo-job-squashed-strategy] $ git checkout -B master origin/master
[PREINT]  git pull origin master
[pretested-integration-plugin__demo-job-squashed-strategy] $ git pull origin master
Preparing to merge changes in commit 4f0f6c07291d1b936918fa79823e523ce6fb0aab to integration branch master(94c9c678b20c6486df218e356887f64f76c01227)
[PREINT]  git merge --squash origin/ready/feature-squashed-31
[pretested-integration-plugin__demo-job-squashed-strategy] $ git merge --squash origin/ready/feature-squashed-31
[PREINT]  git commit --no-edit
[pretested-integration-plugin__demo-job-squashed-strategy] $ git commit --no-edit
Commit message:
Demo commit message for Pretested Integration:

This is a longer commit message about what this commit is about.

We use this commit to illustrate the Prested Integration Plugin commit messages, based on their strategies. There are two demo jobs, one for each strategy and a job that does two commits, one on two different branches to be picked up as ready branches.

[pretested-integration-plugin__demo-job-squashed-strategy] $ /bin/sh -xe /tmp/hudson666893911441445345.sh
+ echo Build and verification was successful
Build and verification was successful
Performing pre-verified post build steps
[PREINT-GIT] Commiting changes
[PREINT]  git push origin master
[pretested-integration-plugin__demo-job-squashed-strategy] $ git push origin master
[PREINT-GIT] Deleting development branch
[PREINT]  git push origin :ready/feature-squashed-31

Squashed demo job example #32

Squashed demo job example #31

Accumulated strategy - commit message

Version 2.3.0

Version 2.2.3

Image Added

Image Added

Squashed strategy - commit message

Version 2.3.0

Version 2.2.3

Image Added

Image Added

Manual building

In general you are not able to use 'Build now' with a pretested integration job configuration. The Pretested Integration Plugin is first in action when a "workspace" is handed over from the Git Plugin (or Multiple SCMs Plugin), and typically those will serve the last build revision again. If that succeeded last time, the revision is deleted after the integration and retrying the integration fails.

...

Jira Issues
columnstype;key;summary
width85%
anonymoustrue
titleOpen issues
urlhttp://issues.jenkins-ci.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+JENKINS+AND+status+in+%28Open%2C+%22In+Progress%22%2C+Reopened%29+AND+component+%3D+%27pretested-integration-plugin%27

Changes

(unreleased) 2.3.0

Available as snapshot artifact in our Jenkins pipeline

  • More logging and information in general for better debugging and understanding why builds fail. Part of feature implementation and re-factoring for JENKINS-27690, JENKINS-28590
  • Output to build console is extended and streamlines between the two different integration strategies (JENKINS-28590)
  • JENKINS-28590: Author of the integration commit is the author of the last commit on the development branch (instead of always the build user).
  • JENKINS-28596: It is possible for the accumulated to use a custom integration branch, a bug was fixed in this area.
  • Test were written to check commit message with quotes will not fail integration ( JENKINS-27662). There are still issue though, reported in unfixed issue JENKINS-28640
Version 2.2.3
  • JENKINS-27516 Plugin hangs - reproduced with failed earlier build. A regression problem, related to never Jenkins cores and that the plugin used semaphores. Problem was seen, by the plugin prints the version number in the job console and then the job hangs.

...