"Continuous integration" uses Jenkins for multi-platform parallel integration

Source: Internet
Author: User

Multi-platform parallel integration with Jenkins
    • February 15, 2012
    • No Comments

Our back-end C applications are supported across platforms, at least currently running on Linux and Solaris, so we need to consider how to implement the need to trigger multi-platform parallel (and simultaneous) integration after code commit when configuring a continuous integration environment.

Prior to using Buildbot, this requirement was met by configuring multiple builder for a scheduler. But now for Jenkins, how do we do that? Yesterday, when I was tossing Jenkins, I thought it was easy, today I looked at the build log carefully before discovering that the previous configuration did not really realize multi-platform parallel integration.

The initial Jenkins configuration was roughly the same: I added two nodes (Slave node) to Jenkins, respectively, X86-linux-ci-slave and X86-solaris-ci-slave, and set the same label for the two nodes " Foo-ci-slaves ". Then I created a new job– "Foo-multiplatform-ci" and chose "build a free-style software project (build a Free-style software project)." In order for the job to perform parallel integration, I chose "Restrict where this project can be run" and "Foo-ci-slaves" in "Label Expression", other configurations are not described here.

As I initially understood, by clicking "Build Now" after this configuration, two slave node will be associated with the integration at the same time. But build log tells me the truth is not what I imagined: Jenkins just performed the job on a slave node. How do you use Jenkins to achieve the above-mentioned multi-platform parallel integration? Look, I found out it was me. When creating a job, I chose the wrong configuration, and I should choose "Build a multi-configuration project (build Multiconfiguration)".

The Restrict where this project can be run configuration option is missing from the configuration page of Multiconfiguration project compared to Free-style project, but there is an extra " Configuration Matrix "Config area. In this area, we can choose slaves, and in Node/label we can see all the labels and nodes that are configured in the current Jenkins. Choosing a label does not meet our requirements, so Jenkins only chooses one of several nodes in the label to perform the integration. So I choose Nodes, X86-linux-ci-slave and X86-solaris-ci-slave are selected, after saving we will see the "Foo-multiplatform-ci" job on the main page of the two configuration : X86-linux-ci-slave and X86-solaris-ci-slave. Click "Build Now", the two configuration corresponding to the ball symbol will be flashing at the same time, this shows that "Foo-multiplatform-ci" is running in parallel on two slave node, this is the result I want.

Support for multi-platform parallel integration is just one of the uses of Multiconfiguration project, and the Jenkins:the definitive Guide is a more detailed explanation that you can combine to customize axis and parameterized build for more complex build requirements. But at present I have not met similar demand, so here also dare not utter ^_^.

© Copyright, Bigwhite. All rights reserved.

Resources:

http://tonybai.com/2012/02/15/intergating-on-multiple-platforms-simultaneously-using-jenkins/

"Continuous integration" uses Jenkins for multi-platform parallel integration

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.