https://wiki.eclipse.org/api.php?action=feedcontributions&user=Duncan.r.mills.gmail.com&feedformat=atomEclipsepedia - User contributions [en]2024-03-29T04:36:22ZUser contributionsMediaWiki 1.26.4https://wiki.eclipse.org/index.php?title=Hudson-ci&diff=403860Hudson-ci2016-04-08T16:40:02Z<p>Duncan.r.mills.gmail.com: /* Use Case Study */</p>
<hr />
<div>{{Template:hudson|pageTitle=Hudson CI|homePage=true}} <br />
<br />
<br> <br> <br />
<br />
<br />
__TOC__ <br />
<br />
<br />
== Using Hudson ==<br />
<br />
*[[Hudson-ci/Meet Hudson|Getting Started with Hudson]] <br />
*[[Hudson-ci/Installing_Hudson|Installing Hudson]]<br />
*[[Using Hudson|Using Hudson]]<br />
*[[Monitoring Hudson| Monitoring Hudson]]<br />
<br />
== Security Advisories ==<br />
*[[Hudson-ci/alerts/CVE-2015-8031|CVE-2015-8031]] - Versions prior to 3.3.2<br />
<br />
== Case Studies ==<br />
<br />
*[[Hudson-ci/use-cases/Cleo|Cleo.]] (Stuart Lorber)<br />
*[[Hudson-ci/use-cases/metamagix|MetaMagix]] (Randolph Kepplinger)<br />
<br />
== Hudson Books ==<br />
<br />
*[[The Hudson Book]] - A complete ('''''and free''''') reference guide available on-line in html and pdf formats. Also available as a download for your mobile device.<br />
* [http://www.amazon.com/Hudson-Continuous-Integration-Practice-Burns/dp/0071804285 Hudson Continuous Integration in Practice]<br />
<br />
== Hudson Plugins ==<br />
<br />
*[http://wiki.hudson-ci.org/display/HUDSON/Plugins Hudson Plugins documentation] <br />
*[http://wiki.eclipse.org/images/2/2c/HudsonPluginUsageAnalysis.pdf Hudson Plugin Categories and Usage Statistics ](PDF)<br />
<br />
== Developing Hudson ==<br />
<br />
*[[Hudson-ci/development|Information for Hudson Developers, Committers and Contributors]]<br />
*[[Hudson-ci/development/third party libraries|Third party libraries used by Hudson]]<br />
<br />
== Developing Hudson Plugins ==<br />
<br />
*[[Hudson-ci/writing-first-hudson-plugin|Writing your first Hudson Plugin]] / ([http://www.eclipse.org/hudson/documents/Writing-first-hudson-plugin.pdf PDF Version]) <br />
*[[Hudson-ci/Extend_Hudson|Developing Plugins for Hudson]]<br />
*[[Hudson-ci/extension-points-doc|Hudson Extension Points Documentation]]<br />
<br />
== Features ==<br />
<br />
*[[Hudson-ci/features/Initial Setup|Initial Setup]] (3.0.0)<br />
<br />
*Team Management (3.1.0)<br />
** [[Hudson-ci/features/Team Concept|Team Management Concept]]<br />
** [[Hudson-ci/features/Team Concept User View|Team Management User View]]<br />
*[[Hudson-ci/features/Restart Within Hudson|Restart Within Hudson]] (3.1.0)<br />
*[[Hudson-ci/features/Memory Performance|Memory Performance]] (3.1.0)<br />
<br />
*[[Hudson-ci/features/Java EE7 Support|Java EE7 Support]] (3.3.0)<br />
<br />
*[[Hudson-ci/features/Load Plugins Without Restart|Load Plugins Without Restart]] (TBD)<br />
*[[Hudson-ci/features/Build Pipeline Orchestration Designer|Build Pipeline Orchestration Designer]] (TBD)<br />
<br />
*[[Hudson-ci/features/Backup|New Backup Strategy]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
*[[Hudson-ci/features/Future Enhancements|Future Enhancements]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
<br />
== Articles ==<br />
<br />
===== Videos =====<br />
<br />
*[http://bcove.me/bngfoog6 JavaOne 2011 OnSite] - An inteview with Winston Prakash and Susan Duncan about Hudson on the JavaOne DemoGrounds (4:58)<br><br />
<br />
===== Presentations =====<br />
<br />
* JavaOne 2011 - Hudson What's New and Next (coming soom) <br />
* How to integrate role strategy plugin with WebLogic LDAP ([[Image:Hudson-Role-v2.pdf|Hudson-Role-v2.pdf]])<br />
* Practicing Continuous Delivery with Hudson ([[Image:Practicing continuous delivery using hudson.pdf | Practicing continuous delivery using hudson]])<br />
<br />
== Future Plans ==<br />
<br />
*[[Hudson-ci/Planning|Hudson Feature Planning]] <br />
*[[Hudson-ci/Planning/Library Cleanup|Library Cleanup]] <br />
*[[Hudson-ci/Planning/Hudson Book Ideas|Hudson Book Ideas]] <br />
*[[Hudson-ci/Planning/Generic Tools Handling|Generic Tools Handling]] <br />
*[[Hudson-ci/Planning/Document Provider|Document Provider]]<br />
<br />
== Release Plan ==<br />
<br />
The release schedule for Hudson is maintained [http://projects.eclipse.org/projects/technology.hudson here].<br />
<br />
== Hudson Community ==<br />
<br />
===== Getting Help =====<br />
*[[Hudson-ci/contacts and help|Contacts and Help]] <br />
*[[Hudson-ci/troubleshooting|Troubleshooting]]<br />
<br />
===== Getting Involved =====<br />
<br />
This section of the wiki tells you how to get more involved with the community and the details and minutes of the community meetings <br />
<br />
*[[Hudson-ci/getting involved|Getting involved with the community]]<br />
<br />
== Migration ==<br />
<br />
===== Project migration to Eclipse =====<br />
<br />
The details of the migration of Hudson project to Eclipse is available at [[Hudson-ci/Eclipse Migration|Eclipse Migration]] page<br />
<br />
<br />
== Hudson Deployment stats ==<br />
<br />
Hudson is a leading Continuous Integration Server and Execution Platform. It is used around the world and more than 30,000 active installations (as of July 2012) are recorded based on the Unique IP pings from these installations. More details [[Hudson-ci/Hudson Install Stats | here]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci&diff=403859Hudson-ci2016-04-08T16:37:04Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Template:hudson|pageTitle=Hudson CI|homePage=true}} <br />
<br />
<br> <br> <br />
<br />
<br />
__TOC__ <br />
<br />
<br />
== Using Hudson ==<br />
<br />
*[[Hudson-ci/Meet Hudson|Getting Started with Hudson]] <br />
*[[Hudson-ci/Installing_Hudson|Installing Hudson]]<br />
*[[Using Hudson|Using Hudson]]<br />
*[[Monitoring Hudson| Monitoring Hudson]]<br />
<br />
== Security Advisories ==<br />
*[[Hudson-ci/alerts/CVE-2015-8031|CVE-2015-8031]] - Versions prior to 3.3.2<br />
<br />
== Use Case Study ==<br />
<br />
*[[Hudson-ci/use-cases/Cleo|Cleo.]] (Stuart Lorber)<br />
*[[Hudson-ci/use-cases/metamagix|MetaMagix]] (Randolph Kepplinger)<br />
<br />
== Hudson Books ==<br />
<br />
*[[The Hudson Book]] - A complete ('''''and free''''') reference guide available on-line in html and pdf formats. Also available as a download for your mobile device.<br />
* [http://www.amazon.com/Hudson-Continuous-Integration-Practice-Burns/dp/0071804285 Hudson Continuous Integration in Practice]<br />
<br />
== Hudson Plugins ==<br />
<br />
*[http://wiki.hudson-ci.org/display/HUDSON/Plugins Hudson Plugins documentation] <br />
*[http://wiki.eclipse.org/images/2/2c/HudsonPluginUsageAnalysis.pdf Hudson Plugin Categories and Usage Statistics ](PDF)<br />
<br />
== Developing Hudson ==<br />
<br />
*[[Hudson-ci/development|Information for Hudson Developers, Committers and Contributors]]<br />
*[[Hudson-ci/development/third party libraries|Third party libraries used by Hudson]]<br />
<br />
== Developing Hudson Plugins ==<br />
<br />
*[[Hudson-ci/writing-first-hudson-plugin|Writing your first Hudson Plugin]] / ([http://www.eclipse.org/hudson/documents/Writing-first-hudson-plugin.pdf PDF Version]) <br />
*[[Hudson-ci/Extend_Hudson|Developing Plugins for Hudson]]<br />
*[[Hudson-ci/extension-points-doc|Hudson Extension Points Documentation]]<br />
<br />
== Features ==<br />
<br />
*[[Hudson-ci/features/Initial Setup|Initial Setup]] (3.0.0)<br />
<br />
*Team Management (3.1.0)<br />
** [[Hudson-ci/features/Team Concept|Team Management Concept]]<br />
** [[Hudson-ci/features/Team Concept User View|Team Management User View]]<br />
*[[Hudson-ci/features/Restart Within Hudson|Restart Within Hudson]] (3.1.0)<br />
*[[Hudson-ci/features/Memory Performance|Memory Performance]] (3.1.0)<br />
<br />
*[[Hudson-ci/features/Java EE7 Support|Java EE7 Support]] (3.3.0)<br />
<br />
*[[Hudson-ci/features/Load Plugins Without Restart|Load Plugins Without Restart]] (TBD)<br />
*[[Hudson-ci/features/Build Pipeline Orchestration Designer|Build Pipeline Orchestration Designer]] (TBD)<br />
<br />
*[[Hudson-ci/features/Backup|New Backup Strategy]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
*[[Hudson-ci/features/Future Enhancements|Future Enhancements]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
<br />
== Articles ==<br />
<br />
===== Videos =====<br />
<br />
*[http://bcove.me/bngfoog6 JavaOne 2011 OnSite] - An inteview with Winston Prakash and Susan Duncan about Hudson on the JavaOne DemoGrounds (4:58)<br><br />
<br />
===== Presentations =====<br />
<br />
* JavaOne 2011 - Hudson What's New and Next (coming soom) <br />
* How to integrate role strategy plugin with WebLogic LDAP ([[Image:Hudson-Role-v2.pdf|Hudson-Role-v2.pdf]])<br />
* Practicing Continuous Delivery with Hudson ([[Image:Practicing continuous delivery using hudson.pdf | Practicing continuous delivery using hudson]])<br />
<br />
== Future Plans ==<br />
<br />
*[[Hudson-ci/Planning|Hudson Feature Planning]] <br />
*[[Hudson-ci/Planning/Library Cleanup|Library Cleanup]] <br />
*[[Hudson-ci/Planning/Hudson Book Ideas|Hudson Book Ideas]] <br />
*[[Hudson-ci/Planning/Generic Tools Handling|Generic Tools Handling]] <br />
*[[Hudson-ci/Planning/Document Provider|Document Provider]]<br />
<br />
== Release Plan ==<br />
<br />
The release schedule for Hudson is maintained [http://projects.eclipse.org/projects/technology.hudson here].<br />
<br />
== Hudson Community ==<br />
<br />
===== Getting Help =====<br />
*[[Hudson-ci/contacts and help|Contacts and Help]] <br />
*[[Hudson-ci/troubleshooting|Troubleshooting]]<br />
<br />
===== Getting Involved =====<br />
<br />
This section of the wiki tells you how to get more involved with the community and the details and minutes of the community meetings <br />
<br />
*[[Hudson-ci/getting involved|Getting involved with the community]]<br />
<br />
== Migration ==<br />
<br />
===== Project migration to Eclipse =====<br />
<br />
The details of the migration of Hudson project to Eclipse is available at [[Hudson-ci/Eclipse Migration|Eclipse Migration]] page<br />
<br />
<br />
== Hudson Deployment stats ==<br />
<br />
Hudson is a leading Continuous Integration Server and Execution Platform. It is used around the world and more than 30,000 active installations (as of July 2012) are recorded based on the Unique IP pings from these installations. More details [[Hudson-ci/Hudson Install Stats | here]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/use-cases/Cleo&diff=403857Hudson-ci/use-cases/Cleo2016-04-08T16:35:58Z<p>Duncan.r.mills.gmail.com: Duncan.r.mills.gmail.com moved page Hudson-ci/use-cases/EXTOL-International to Hudson-ci/use-cases/Cleo: Company name change through aquisition</p>
<hr />
<div>== Cleo’s Use of Hudson As a Continuous Integration Platform ==<br />
<br />
'''By Stuart Lorber, Release Engineer, Cleo'''<br />
<br />
LinkedIn: http://www.linkedin.com/in/stuartlorber<br />
<br />
=== Introduction ===<br />
<br />
[http://www.cleo.com/ Cleo] is a provider of business integration software and services, enabling enterprises to connect with their customers and suppliers, and to integrate business processes and information with internal or cloud-based applications.<br />
Cleo employs approximately 80 employees. This includes a Product Development team of 27. Seven of the 27 are full time dedicated product testers.<br />
<br />
=== The Challenge ===<br />
<br />
Four years ago we started to include Agile and Continuous Integration techniques into our development processes to produce software with greater speed and fewer defects.<br />
<br />
The build system we were using, a commercial product, was not capable of producing or maintaining the number of builds and artifacts we needed and did not offer scalability.<br />
<br />
We evaluated a few products and decided to switch to Hudson because it was an open source product with a good reputation, a large install base and it was designed to support continuous integration.<br />
<br />
Shortly after, we started to evaluate Jenkins as a replacement for Hudson because Jenkins was maintaining most of the Hudson plugins and appeared to have more community activity. We abandoned this idea after seeing that Jenkins’ core functionality was less reliable than Hudson’s. We also saw, at EclipseCon 2012, the commitment to maintaining and improving the Hudson product.<br />
<br />
With the rewrite of Hudson for version 3 and particularly with the release of version 3.1 there is no comparison. The Eclipse Project commitment, plugin support, stability, team support and a huge user community made it the clear choice.<br />
<br />
=== Cleo’s Environment ===<br />
<br />
We started with Hudson version 2.1 running on a server with 1 TB of storage with 15k RPM disk drives (Raid 0), 32 GB of RAM and dual hex-core processors.<br />
<br />
Our initial system and job configurations addressed the building and testing of a new product offering.<br />
<br />
This effort allowed us to have a reliable continuous build cycle that gave easy access to new builds and test results.<br />
<br />
==== Team Implementation ====<br />
<br />
We then started to research how to implement a way to quickly create a “branch of jobs” to match a code branch. We support multiple versions of each of our products so we need similar or identical sets of jobs for each product version.<br />
<br />
In addition we need similar support for developers who will be implementing major changes or large features and ultimately need to merge the branch back into the main trunk.<br />
<br />
Here’s an example:<br />
<br />
[[File:Extiol-build-system.png|Cleo build system ]]<br />
<br />
This is a simplified picture of the type of environment we need in order to support one product. In this example we have our trunk, several branches for previous product versions and several branches for developers.<br />
<br />
In reality we have multiple products, more versions of each product and more complicated build flows.<br />
<br />
Our “main” Hudson project has about 40 jobs, so manually copying / modifying / joining each job takes a long time and can be extremely error prone. We wanted the ability to provide a developer or a team of developers a “branch of jobs” within an hour.<br />
Once Hudson 3.x came out with the [[Hudson-ci/features/Team_Concept|Team Management Concept]] and accompanying team copy feature we were able to copy the entire set of a team’s jobs within seconds. All references important to us are updated so the only additional task to provide a working set of jobs to developers is to update the SVN locations and credentials. The entire process takes about an hour.<br />
<br />
==== Hardware Configurations ====<br />
<br />
Our original Hudson server was running Linux and did all processing for Linux-based jobs. Windows jobs were processed on VirtualBox “Virtual Machines” that were configured as Hudson nodes running on this same server.<br />
<br />
As our processing load increased we started to use standalone PCs as slaves that were configured as Hudson nodes. We soon realized that this gave us more flexibility to increase processing power. Our slaves started out as low-end 64-bit PCs with a minimum of 4 GB of RAM. We installed Windows or Linux, as appropriate.<br />
<br />
When we reevaluated our server needs we decided that we should focus on a machine with a large amount of reliable storage (Raid 10). Disk and processor speed were secondary although we still have a dual hex core machine with 32 GB of RAM. The server was configured with 7,200 RPM drives based on price and effective throughput on a gigabit switch. Our entire build environment is on its own switch to facilitate fast transfer of artifacts between the master and slaves<br />
<br />
We have all processing done on slaves and use the server to run Hudson and store artifacts. This allowed us to spend less money on a server and extend its life by not requiring a server upgrade as our processing needs increase.<br />
<br />
We also decided that our slaves will be relatively inexpensive “off the shelf” PCs that can be purchased and brought online quickly. The current configuration for a slave is a Dell PC with an Intel Core i7 processor, 32 GB of RAM and dual SSD drives. (Except for our increasing the RAM to 32 GB this is one of the standard Dell configurations.)<br />
<br />
We decided that using a cloud solution like Amazon’s Elastic Compute Cloud (EC2) is not going to work for us at this time because of the large amounts of data we need to move to and from slaves.<br />
<br />
Examples of the amount of data we would need to transfer include:<br />
<br />
# Build artifacts - ~15 GB. This does not include about 100,000 files to generate a build artifact.<br />
# Installers - ~ 4 GB.<br />
# Test jobs - ~ 15 GB. This includes moving artifacts to a slave that are tested as well as any test results that are returned by the test jobs.<br />
# Aggregator jobs - ~10 GB. This includes all of the upstream jobs that are included in a particular build’s job flow.<br />
# An ISO image - ~10 GB. This includes all of the artifacts to be included in the ISO as well as the ISO image.<br />
<br />
On average, we move more than 80 GB of data to and from our slaves every day for our standard nightly build of our main Hudson project (including branches).<br />
<br />
This does not include additional weekly jobs we run or build flows for our other products.<br />
<br />
We also made the decision to run all of our jobs on VirtualBox VMs on these slaves rather than directly on the machines.<br />
<br />
This helps us in several ways:<br />
<br />
# Once a VM is created it can be cloned and moved to another machine. Therefore, we create “template” VMs for each of our build/test needs and we clone them as needed for load distribution. A clone is fully “pre-configured” for its function and the only change required is an update to point to a new node configuration on the Hudson server.<br />
# We’re using “labels” as part of our node configurations so we effectively have slave pools. We point our job configurations to these pools rather than individual nodes. If we need more horsepower for a set of jobs we can clone a VM and it’s added to the pool. There’s no need to change a job configuration. If we remove a VM it is the same process; no change to a job configuration.<br />
# We try to always have redundant clones in this type of configuration. In the event that a node goes offline job processing can still continue; there will be less bandwidth but job processing does not stop.<br />
# We’re also distributing these cloned VMs across physical slaves. This is done so that if a physical slave crashes our processing can still continue.<br />
# Using VMs we can order a new slave machine, install VirtualBox and copy VMs to the new slave, define nodes and have more horsepower available within hours.<br />
# If we need to load balance one of our slaves we can just move the VM to a different slave. There’s no need to change any configuration on the VM or in Hudson node configuration.<br />
<br />
VMs allow us to have more test environments than we have machines. Our products support all active versions of Windows (currently about 7) and several versions of Linux (currently 4 primary versions). With the use of VMs and multi-configuration jobs we can quickly change our job configurations to run on any variety of operating systems. It is critical to us to have this flexibility as we find differences in behavior between Windows and Linux and between versions of Windows and Linux. These differences used to be found through manual testing or by customers; now we find most of them during our automated test processes.<br />
<br />
Our primary Hudson job runs approximately 5,000 unique tests nightly. This does not include the other products we have migrated to Hudson. Since we run the same tests on multiple operating systems we are running more than 13,500 tests nightly and the number is growing. Test creation and resulting test results are an integral part of our development process. At this point, a build without accompanying test results is considered almost useless.<br />
<br />
We currently have 15 slaves. By the end of 2015 we’re planning to have approximately 18 slaves. Each slave runs 3 to 6 VMs so by the end of the year we will have a total of about 80 Hudson nodes.<br />
<br />
We are currently evaluating using a cloud solution like Amazon’s Elastic Compute Cloud (EC2) to augment our slave farm to provide flexibility to add capacity and redundancy.<br />
<br />
==== Processing Jobs ====<br />
<br />
We are processing jobs a minimum of 12 hours per day. Our nightly build cycle takes approximately 10 – 12 hours to complete and we do continuous builds throughout the day to resolve test failures and to test code changes. On average we are processing jobs 16 to 18 hours per day.<br />
<br />
The product that is currently using the most Hudson resources generates artifacts of between 250mb – 500mb. Since we support Windows, Mac and Linux a particular job might generate upwards of 5 GB of archived artifacts. With nightly builds, installers and ISO generation we generate approximately 20 GB of archived artifacts nightly. This number will be increasing as we migrate all of our builds to Hudson, support more versions of our products and have more developer branches.<br />
For builds, we keep a history of 10 to 20 jobs. For test jobs, we keep a history of 90 days to allow us to track test count and success / failure trends. This does not include promoted builds that are kept indefinitely.<br />
<br />
=== Our Success Story ===<br />
<br />
Our newest product required an updated interface to one of our existing products.<br />
Because of the move to Hudson, all of jobs are now associated with teams. So the steps involved to support this new team were to simply:<br />
<br />
# Cut a branch in our source repository.<br />
# Copy the “main” branch team using the copy plugin.<br />
# Update SVN references to the branch, as appropriate, in the new team’s jobs.<br />
<br />
All development work for this updated interface was done in the branch and all builds and test jobs were run against the branch using the new team job set until all test results matched our trunk.<br />
<br />
At this point the branch was merged back into trunk. <br />
<br />
The result was one test failure.<br />
<br />
A traditional code merge from a branch into trunk usually results in compilation and testing errors that can take days to resolve. This results in disruptions to developers not involved in the branch development.<br />
<br />
This major refactoring was done without any disruption to the developers still working against our trunk.<br />
After the successful code merge the team and its jobs were deleted.<br />
<br />
=== The Hudson Team’s Success Story ===<br />
<br />
The Hudson development team has been extremely responsive to product improvements as well as any reported bugs.<br />
<br />
The product improvement that most affected our product development cycle and made Hudson the clear choice for our company is the “team” concept that allows multiple versions of the same product to be developed quickly and simultaneously. This solved our problem of being able to effectively build and test these multiple product versions. It also provides greater visibility, which has greatly improved our development velocity.<br />
<br />
A list of improvements and bug enhancements include:<br />
<br />
# Modifications to their team copy plugin to make branching and the associated team creation easier.<br />
# Enabling/disabling of selected builders.<br />
# Adding commenting to selected builders.<br />
# Increased stability that allows the Hudson system to start even where there are certain types of data corruption.<br />
# Upgrade of their AWS plugin.<br />
<br />
=== Summary ===<br />
<br />
Our “Success Story” is just one of many.<br />
<br />
Before we implemented Hudson our development process was based on creating a build when we thought we needed it and then manually tested the build.<br />
<br />
Now, Hudson drives our software processes.<br />
<br />
* We have polling jobs that will inform developers of test failures within minutes of a source commit.<br />
* We have a nightly build process that builds and tests our software and provides reporting on software quality.<br />
<br />
Hudson has proven to be an invaluable part of our development processes. Migrating to Hudson has helped Cleo evolve its software development process from a traditional waterfall methodology to a flexible agile environment. We are now able to deliver significantly higher quality software across development sub-teams, our product testing group and, most importantly, to our customers.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/use-cases/EXTOL-International&diff=403858Hudson-ci/use-cases/EXTOL-International2016-04-08T16:35:58Z<p>Duncan.r.mills.gmail.com: Duncan.r.mills.gmail.com moved page Hudson-ci/use-cases/EXTOL-International to Hudson-ci/use-cases/Cleo: Company name change through aquisition</p>
<hr />
<div>#REDIRECT [[Hudson-ci/use-cases/Cleo]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/use-cases/Cleo&diff=403856Hudson-ci/use-cases/Cleo2016-04-08T16:35:21Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>== Cleo’s Use of Hudson As a Continuous Integration Platform ==<br />
<br />
'''By Stuart Lorber, Release Engineer, Cleo'''<br />
<br />
LinkedIn: http://www.linkedin.com/in/stuartlorber<br />
<br />
=== Introduction ===<br />
<br />
[http://www.cleo.com/ Cleo] is a provider of business integration software and services, enabling enterprises to connect with their customers and suppliers, and to integrate business processes and information with internal or cloud-based applications.<br />
Cleo employs approximately 80 employees. This includes a Product Development team of 27. Seven of the 27 are full time dedicated product testers.<br />
<br />
=== The Challenge ===<br />
<br />
Four years ago we started to include Agile and Continuous Integration techniques into our development processes to produce software with greater speed and fewer defects.<br />
<br />
The build system we were using, a commercial product, was not capable of producing or maintaining the number of builds and artifacts we needed and did not offer scalability.<br />
<br />
We evaluated a few products and decided to switch to Hudson because it was an open source product with a good reputation, a large install base and it was designed to support continuous integration.<br />
<br />
Shortly after, we started to evaluate Jenkins as a replacement for Hudson because Jenkins was maintaining most of the Hudson plugins and appeared to have more community activity. We abandoned this idea after seeing that Jenkins’ core functionality was less reliable than Hudson’s. We also saw, at EclipseCon 2012, the commitment to maintaining and improving the Hudson product.<br />
<br />
With the rewrite of Hudson for version 3 and particularly with the release of version 3.1 there is no comparison. The Eclipse Project commitment, plugin support, stability, team support and a huge user community made it the clear choice.<br />
<br />
=== Cleo’s Environment ===<br />
<br />
We started with Hudson version 2.1 running on a server with 1 TB of storage with 15k RPM disk drives (Raid 0), 32 GB of RAM and dual hex-core processors.<br />
<br />
Our initial system and job configurations addressed the building and testing of a new product offering.<br />
<br />
This effort allowed us to have a reliable continuous build cycle that gave easy access to new builds and test results.<br />
<br />
==== Team Implementation ====<br />
<br />
We then started to research how to implement a way to quickly create a “branch of jobs” to match a code branch. We support multiple versions of each of our products so we need similar or identical sets of jobs for each product version.<br />
<br />
In addition we need similar support for developers who will be implementing major changes or large features and ultimately need to merge the branch back into the main trunk.<br />
<br />
Here’s an example:<br />
<br />
[[File:Extiol-build-system.png|Cleo build system ]]<br />
<br />
This is a simplified picture of the type of environment we need in order to support one product. In this example we have our trunk, several branches for previous product versions and several branches for developers.<br />
<br />
In reality we have multiple products, more versions of each product and more complicated build flows.<br />
<br />
Our “main” Hudson project has about 40 jobs, so manually copying / modifying / joining each job takes a long time and can be extremely error prone. We wanted the ability to provide a developer or a team of developers a “branch of jobs” within an hour.<br />
Once Hudson 3.x came out with the [[Hudson-ci/features/Team_Concept|Team Management Concept]] and accompanying team copy feature we were able to copy the entire set of a team’s jobs within seconds. All references important to us are updated so the only additional task to provide a working set of jobs to developers is to update the SVN locations and credentials. The entire process takes about an hour.<br />
<br />
==== Hardware Configurations ====<br />
<br />
Our original Hudson server was running Linux and did all processing for Linux-based jobs. Windows jobs were processed on VirtualBox “Virtual Machines” that were configured as Hudson nodes running on this same server.<br />
<br />
As our processing load increased we started to use standalone PCs as slaves that were configured as Hudson nodes. We soon realized that this gave us more flexibility to increase processing power. Our slaves started out as low-end 64-bit PCs with a minimum of 4 GB of RAM. We installed Windows or Linux, as appropriate.<br />
<br />
When we reevaluated our server needs we decided that we should focus on a machine with a large amount of reliable storage (Raid 10). Disk and processor speed were secondary although we still have a dual hex core machine with 32 GB of RAM. The server was configured with 7,200 RPM drives based on price and effective throughput on a gigabit switch. Our entire build environment is on its own switch to facilitate fast transfer of artifacts between the master and slaves<br />
<br />
We have all processing done on slaves and use the server to run Hudson and store artifacts. This allowed us to spend less money on a server and extend its life by not requiring a server upgrade as our processing needs increase.<br />
<br />
We also decided that our slaves will be relatively inexpensive “off the shelf” PCs that can be purchased and brought online quickly. The current configuration for a slave is a Dell PC with an Intel Core i7 processor, 32 GB of RAM and dual SSD drives. (Except for our increasing the RAM to 32 GB this is one of the standard Dell configurations.)<br />
<br />
We decided that using a cloud solution like Amazon’s Elastic Compute Cloud (EC2) is not going to work for us at this time because of the large amounts of data we need to move to and from slaves.<br />
<br />
Examples of the amount of data we would need to transfer include:<br />
<br />
# Build artifacts - ~15 GB. This does not include about 100,000 files to generate a build artifact.<br />
# Installers - ~ 4 GB.<br />
# Test jobs - ~ 15 GB. This includes moving artifacts to a slave that are tested as well as any test results that are returned by the test jobs.<br />
# Aggregator jobs - ~10 GB. This includes all of the upstream jobs that are included in a particular build’s job flow.<br />
# An ISO image - ~10 GB. This includes all of the artifacts to be included in the ISO as well as the ISO image.<br />
<br />
On average, we move more than 80 GB of data to and from our slaves every day for our standard nightly build of our main Hudson project (including branches).<br />
<br />
This does not include additional weekly jobs we run or build flows for our other products.<br />
<br />
We also made the decision to run all of our jobs on VirtualBox VMs on these slaves rather than directly on the machines.<br />
<br />
This helps us in several ways:<br />
<br />
# Once a VM is created it can be cloned and moved to another machine. Therefore, we create “template” VMs for each of our build/test needs and we clone them as needed for load distribution. A clone is fully “pre-configured” for its function and the only change required is an update to point to a new node configuration on the Hudson server.<br />
# We’re using “labels” as part of our node configurations so we effectively have slave pools. We point our job configurations to these pools rather than individual nodes. If we need more horsepower for a set of jobs we can clone a VM and it’s added to the pool. There’s no need to change a job configuration. If we remove a VM it is the same process; no change to a job configuration.<br />
# We try to always have redundant clones in this type of configuration. In the event that a node goes offline job processing can still continue; there will be less bandwidth but job processing does not stop.<br />
# We’re also distributing these cloned VMs across physical slaves. This is done so that if a physical slave crashes our processing can still continue.<br />
# Using VMs we can order a new slave machine, install VirtualBox and copy VMs to the new slave, define nodes and have more horsepower available within hours.<br />
# If we need to load balance one of our slaves we can just move the VM to a different slave. There’s no need to change any configuration on the VM or in Hudson node configuration.<br />
<br />
VMs allow us to have more test environments than we have machines. Our products support all active versions of Windows (currently about 7) and several versions of Linux (currently 4 primary versions). With the use of VMs and multi-configuration jobs we can quickly change our job configurations to run on any variety of operating systems. It is critical to us to have this flexibility as we find differences in behavior between Windows and Linux and between versions of Windows and Linux. These differences used to be found through manual testing or by customers; now we find most of them during our automated test processes.<br />
<br />
Our primary Hudson job runs approximately 5,000 unique tests nightly. This does not include the other products we have migrated to Hudson. Since we run the same tests on multiple operating systems we are running more than 13,500 tests nightly and the number is growing. Test creation and resulting test results are an integral part of our development process. At this point, a build without accompanying test results is considered almost useless.<br />
<br />
We currently have 15 slaves. By the end of 2015 we’re planning to have approximately 18 slaves. Each slave runs 3 to 6 VMs so by the end of the year we will have a total of about 80 Hudson nodes.<br />
<br />
We are currently evaluating using a cloud solution like Amazon’s Elastic Compute Cloud (EC2) to augment our slave farm to provide flexibility to add capacity and redundancy.<br />
<br />
==== Processing Jobs ====<br />
<br />
We are processing jobs a minimum of 12 hours per day. Our nightly build cycle takes approximately 10 – 12 hours to complete and we do continuous builds throughout the day to resolve test failures and to test code changes. On average we are processing jobs 16 to 18 hours per day.<br />
<br />
The product that is currently using the most Hudson resources generates artifacts of between 250mb – 500mb. Since we support Windows, Mac and Linux a particular job might generate upwards of 5 GB of archived artifacts. With nightly builds, installers and ISO generation we generate approximately 20 GB of archived artifacts nightly. This number will be increasing as we migrate all of our builds to Hudson, support more versions of our products and have more developer branches.<br />
For builds, we keep a history of 10 to 20 jobs. For test jobs, we keep a history of 90 days to allow us to track test count and success / failure trends. This does not include promoted builds that are kept indefinitely.<br />
<br />
=== Our Success Story ===<br />
<br />
Our newest product required an updated interface to one of our existing products.<br />
Because of the move to Hudson, all of jobs are now associated with teams. So the steps involved to support this new team were to simply:<br />
<br />
# Cut a branch in our source repository.<br />
# Copy the “main” branch team using the copy plugin.<br />
# Update SVN references to the branch, as appropriate, in the new team’s jobs.<br />
<br />
All development work for this updated interface was done in the branch and all builds and test jobs were run against the branch using the new team job set until all test results matched our trunk.<br />
<br />
At this point the branch was merged back into trunk. <br />
<br />
The result was one test failure.<br />
<br />
A traditional code merge from a branch into trunk usually results in compilation and testing errors that can take days to resolve. This results in disruptions to developers not involved in the branch development.<br />
<br />
This major refactoring was done without any disruption to the developers still working against our trunk.<br />
After the successful code merge the team and its jobs were deleted.<br />
<br />
=== The Hudson Team’s Success Story ===<br />
<br />
The Hudson development team has been extremely responsive to product improvements as well as any reported bugs.<br />
<br />
The product improvement that most affected our product development cycle and made Hudson the clear choice for our company is the “team” concept that allows multiple versions of the same product to be developed quickly and simultaneously. This solved our problem of being able to effectively build and test these multiple product versions. It also provides greater visibility, which has greatly improved our development velocity.<br />
<br />
A list of improvements and bug enhancements include:<br />
<br />
# Modifications to their team copy plugin to make branching and the associated team creation easier.<br />
# Enabling/disabling of selected builders.<br />
# Adding commenting to selected builders.<br />
# Increased stability that allows the Hudson system to start even where there are certain types of data corruption.<br />
# Upgrade of their AWS plugin.<br />
<br />
=== Summary ===<br />
<br />
Our “Success Story” is just one of many.<br />
<br />
Before we implemented Hudson our development process was based on creating a build when we thought we needed it and then manually tested the build.<br />
<br />
Now, Hudson drives our software processes.<br />
<br />
* We have polling jobs that will inform developers of test failures within minutes of a source commit.<br />
* We have a nightly build process that builds and tests our software and provides reporting on software quality.<br />
<br />
Hudson has proven to be an invaluable part of our development processes. Migrating to Hudson has helped Cleo evolve its software development process from a traditional waterfall methodology to a flexible agile environment. We are now able to deliver significantly higher quality software across development sub-teams, our product testing group and, most importantly, to our customers.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/use-cases/Cleo&diff=403855Hudson-ci/use-cases/Cleo2016-04-08T16:34:17Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>== Cleo’s Use of Hudson As a Continuous Integration Platform ==<br />
<br />
'''By Stuart Lorber, Release Engineer, Cleo'''<br />
<br />
LinkedIn: http://www.linkedin.com/in/stuartlorber<br />
<br />
=== Introduction ===<br />
<br />
[http://www.cleo.com/ Cleo] is a provider of business integration software and services, enabling enterprises to connect with their customers and suppliers, and to integrate business processes and information with internal or cloud-based applications.<br />
Cleo employs approximately 80 employees. This includes a Product Development team of 27. Seven of the 27 are full time dedicated product testers.<br />
<br />
=== The Challenge ===<br />
<br />
Four years ago we started to include Agile and Continuous Integration techniques into our development processes to produce software with greater speed and fewer defects.<br />
<br />
The build system we were using, a commercial product, was not capable of producing or maintaining the number of builds and artifacts we needed and did not offer scalability.<br />
<br />
We evaluated a few products and decided to switch to Hudson because it was an open source product with a good reputation, a large install base and it was designed to support continuous integration.<br />
<br />
Shortly after, we started to evaluate Jenkins as a replacement for Hudson because Jenkins was maintaining most of the Hudson plugins and appeared to have more community activity. We abandoned this idea after seeing that Jenkins’ core functionality was less reliable than Hudson’s. We also saw, at EclipseCon 2012, the commitment to maintaining and improving the Hudson product.<br />
<br />
With the rewrite of Hudson for version 3 and particularly with the release of version 3.1 there is no comparison. The Eclipse Project commitment, plugin support, stability, team support and a huge user community made it the clear choice.<br />
<br />
=== Cleo’s Environment ===<br />
<br />
We started with Hudson version 2.1 running on a server with 1 TB of storage with 15k RPM disk drives (Raid 0), 32 GB of RAM and dual hex-core processors.<br />
<br />
Our initial system and job configurations addressed the building and testing of a new product offering.<br />
<br />
This effort allowed us to have a reliable continuous build cycle that gave easy access to new builds and test results.<br />
<br />
==== Team Implementation ====<br />
<br />
We then started to research how to implement a way to quickly create a “branch of jobs” to match a code branch. We support multiple versions of each of our products so we need similar or identical sets of jobs for each product version.<br />
<br />
In addition we need similar support for developers who will be implementing major changes or large features and ultimately need to merge the branch back into the main trunk.<br />
<br />
Here’s an example:<br />
<br />
[[File:Extiol-build-system.png|Cleo build system ]]<br />
<br />
This is a simplified picture of the type of environment we need in order to support one product. In this example we have our trunk, several branches for previous product versions and several branches for developers.<br />
<br />
In reality we have multiple products, more versions of each product and more complicated build flows.<br />
<br />
Our “main” Hudson project has about 40 jobs, so manually copying / modifying / joining each job takes a long time and can be extremely error prone. We wanted the ability to provide a developer or a team of developers a “branch of jobs” within an hour.<br />
Once Hudson 3.x came out with the [[Hudson-ci/features/Team_Concept|Team Management Concept]] and accompanying team copy feature we were able to copy the entire set of a team’s jobs within seconds. All references important to us are updated so the only additional task to provide a working set of jobs to developers is to update the SVN locations and credentials. The entire process takes about an hour.<br />
<br />
==== Hardware Configurations ====<br />
<br />
Our original Hudson server was running Linux and did all processing for Linux-based jobs. Windows jobs were processed on VirtualBox “Virtual Machines” that were configured as Hudson nodes running on this same server.<br />
<br />
As our processing load increased we started to use standalone PCs as slaves that were configured as Hudson nodes. We soon realized that this gave us more flexibility to increase processing power. Our slaves started out as low-end 64-bit PCs with a minimum of 4 GB of RAM. We installed Windows or Linux, as appropriate.<br />
<br />
When we reevaluated our server needs we decided that we should focus on a machine with a large amount of reliable storage (Raid 10). Disk and processor speed were secondary although we still have a dual hex core machine with 32 GB of RAM. The server was configured with 7,200 RPM drives based on price and effective throughput on a gigabit switch. Our entire build environment is on its own switch to facilitate fast transfer of artifacts between the master and slaves<br />
<br />
We have all processing done on slaves and use the server to run Hudson and store artifacts. This allowed us to spend less money on a server and extend its life by not requiring a server upgrade as our processing needs increase.<br />
<br />
We also decided that our slaves will be relatively inexpensive “off the shelf” PCs that can be purchased and brought online quickly. The current configuration for a slave is a Dell PC with an Intel Core i7 processor, 32 GB of RAM and dual SSD drives. (Except for our increasing the RAM to 32 GB this is one of the standard Dell configurations.)<br />
<br />
We decided that using a cloud solution like Amazon’s Elastic Compute Cloud (EC2) is not going to work for us at this time because of the large amounts of data we need to move to and from slaves.<br />
<br />
Examples of the amount of data we would need to transfer include:<br />
<br />
# Build artifacts - ~15 GB. This does not include about 100,000 files to generate a build artifact.<br />
# Installers - ~ 4 GB.<br />
# Test jobs - ~ 15 GB. This includes moving artifacts to a slave that are tested as well as any test results that are returned by the test jobs.<br />
# Aggregator jobs - ~10 GB. This includes all of the upstream jobs that are included in a particular build’s job flow.<br />
# An ISO image - ~10 GB. This includes all of the artifacts to be included in the ISO as well as the ISO image.<br />
<br />
On average, we move more than 80 GB of data to and from our slaves every day for our standard nightly build of our main Hudson project (including branches).<br />
<br />
This does not include additional weekly jobs we run or build flows for our other products.<br />
<br />
We also made the decision to run all of our jobs on VirtualBox VMs on these slaves rather than directly on the machines.<br />
<br />
This helps us in several ways:<br />
<br />
# Once a VM is created it can be cloned and moved to another machine. Therefore, we create “template” VMs for each of our build/test needs and we clone them as needed for load distribution. A clone is fully “pre-configured” for its function and the only change required is an update to point to a new node configuration on the Hudson server.<br />
# We’re using “labels” as part of our node configurations so we effectively have slave pools. We point our job configurations to these pools rather than individual nodes. If we need more horsepower for a set of jobs we can clone a VM and it’s added to the pool. There’s no need to change a job configuration. If we remove a VM it is the same process; no change to a job configuration.<br />
# We try to always have redundant clones in this type of configuration. In the event that a node goes offline job processing can still continue; there will be less bandwidth but job processing does not stop.<br />
# We’re also distributing these cloned VMs across physical slaves. This is done so that if a physical slave crashes our processing can still continue.<br />
# Using VMs we can order a new slave machine, install VirtualBox and copy VMs to the new slave, define nodes and have more horsepower available within hours.<br />
# If we need to load balance one of our slaves we can just move the VM to a different slave. There’s no need to change any configuration on the VM or in Hudson node configuration.<br />
<br />
VMs allow us to have more test environments than we have machines. Our products support all active versions of Windows (currently about 7) and several versions of Linux (currently 4 primary versions). With the use of VMs and multi-configuration jobs we can quickly change our job configurations to run on any variety of operating systems. It is critical to us to have this flexibility as we find differences in behavior between Windows and Linux and between versions of Windows and Linux. These differences used to be found through manual testing or by customers; now we find most of them during our automated test processes.<br />
<br />
Our primary Hudson job runs approximately 5,000 unique tests nightly. This does not include the other products we have migrated to Hudson. Since we run the same tests on multiple operating systems we are running more than 13,500 tests nightly and the number is growing. Test creation and resulting test results are an integral part of our development process. At this point, a build without accompanying test results is considered almost useless.<br />
<br />
We currently have 15 slaves. By the end of 2015 we’re planning to have approximately 18 slaves. Each slave runs 3 to 6 VMs so by the end of the year we will have a total of about 80 Hudson nodes.<br />
<br />
We are currently evaluating using a cloud solution like Amazon’s Elastic Compute Cloud (EC2) to augment our slave farm to provide flexibility to add capacity and redundancy.<br />
<br />
==== Processing Jobs ====<br />
<br />
We are processing jobs a minimum of 12 hours per day. Our nightly build cycle takes approximately 10 – 12 hours to complete and we do continuous builds throughout the day to resolve test failures and to test code changes. On average we are processing jobs 16 to 18 hours per day.<br />
<br />
The product that is currently using the most Hudson resources generates artifacts of between 250mb – 500mb. Since we support Windows, Mac and Linux a particular job might generate upwards of 5 GB of archived artifacts. With nightly builds, installers and ISO generation we generate approximately 20 GB of archived artifacts nightly. This number will be increasing as we migrate all of our builds to Hudson, support more versions of our products and have more developer branches.<br />
For builds, we keep a history of 10 to 20 jobs. For test jobs, we keep a history of 90 days to allow us to track test count and success / failure trends. This does not include promoted builds that are kept indefinitely.<br />
<br />
=== Our Success Story ===<br />
<br />
Our newest product required an updated interface to one of our existing products.<br />
Because of the move to Hudson, all of jobs are now associated with teams. So the steps involved to support this new team were to simply:<br />
<br />
# Cut a branch in our source repository.<br />
# Copy the “main” branch team using the copy plugin.<br />
# Update SVN references to the branch, as appropriate, in the new team’s jobs.<br />
<br />
All development work for this updated interface was done in the branch and all builds and test jobs were run against the branch using the new team job set until all test results matched our trunk.<br />
<br />
At this point the branch was merged back into trunk. <br />
<br />
The result was one test failure.<br />
<br />
A traditional code merge from a branch into trunk usually results in compilation and testing errors that can take days to resolve. This results in disruptions to developers not involved in the branch development.<br />
<br />
This major refactoring was done without any disruption to the developers still working against our trunk.<br />
After the successful code merge the team and its jobs were deleted.<br />
<br />
=== The Hudson Team’s Success Story ===<br />
<br />
The Hudson development team has been extremely responsive to product improvements as well as any reported bugs.<br />
<br />
The product improvement that most affected our product development cycle and made Hudson the clear choice for our company is the “team” concept that allows multiple versions of the same product to be developed quickly and simultaneously. This solved our problem of being able to effectively build and test these multiple product versions. It also provides greater visibility, which has greatly improved our development velocity.<br />
<br />
A list of improvements and bug enhancements include:<br />
<br />
# Modifications to their team copy plugin to make branching and the associated team creation easier.<br />
# Enabling/disabling of selected builders.<br />
# Adding commenting to selected builders.<br />
# Increased stability that allows the Hudson system to start even where there are certain types of data corruption.<br />
# Upgrade of their AWS plugin.<br />
<br />
=== Summary ===<br />
<br />
Our “Success Story” is just one of many.<br />
<br />
Before we implemented Hudson our development process was based on creating a build when we thought we needed it and then manually tested the build.<br />
<br />
Now, Hudson drives our software processes.<br />
<br />
* We have polling jobs that will inform developers of test failures within minutes of a source commit.<br />
* We have a nightly build process that builds and tests our software and provides reporting on software quality.<br />
<br />
Hudson has proven to be an invaluable part of our development processes. Migrating to Hudson has helped EXTOL evolve its software development process from a traditional waterfall methodology to a flexible agile environment. We are now able to deliver significantly higher quality software across development sub-teams, our product testing group and, most importantly, to our customers.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci&diff=403854Hudson-ci2016-04-08T16:32:18Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Template:hudson|pageTitle=Hudson CI|homePage=true}} <br />
<br />
<br> <br> <br />
<br />
<br />
__TOC__ <br />
<br />
<br />
== Using Hudson ==<br />
<br />
*[[Hudson-ci/Meet Hudson|Getting Started with Hudson]] <br />
*[[Hudson-ci/Installing_Hudson|Installing Hudson]]<br />
*[[Using Hudson|Using Hudson]]<br />
*[[Monitoring Hudson| Monitoring Hudson]]<br />
<br />
== Security Advisories ==<br />
*[[Hudson-ci/alerts/CVE-2015-8031|CVE-2015-8031]] - Versions prior to 3.3.2<br />
<br />
== Use Case Study ==<br />
<br />
*[[Hudson-ci/use-cases/EXTOL-International|Cleo.]] (Stuart Lorber)<br />
*[[Hudson-ci/use-cases/metamagix|MetaMagix]] (Randolph Kepplinger)<br />
<br />
== Hudson Books ==<br />
<br />
*[[The Hudson Book]] - A complete ('''''and free''''') reference guide available on-line in html and pdf formats. Also available as a download for your mobile device.<br />
* [http://www.amazon.com/Hudson-Continuous-Integration-Practice-Burns/dp/0071804285 Hudson Continuous Integration in Practice]<br />
<br />
== Hudson Plugins ==<br />
<br />
*[http://wiki.hudson-ci.org/display/HUDSON/Plugins Hudson Plugins documentation] <br />
*[http://wiki.eclipse.org/images/2/2c/HudsonPluginUsageAnalysis.pdf Hudson Plugin Categories and Usage Statistics ](PDF)<br />
<br />
== Developing Hudson ==<br />
<br />
*[[Hudson-ci/development|Information for Hudson Developers, Committers and Contributors]]<br />
*[[Hudson-ci/development/third party libraries|Third party libraries used by Hudson]]<br />
<br />
== Developing Hudson Plugins ==<br />
<br />
*[[Hudson-ci/writing-first-hudson-plugin|Writing your first Hudson Plugin]] / ([http://www.eclipse.org/hudson/documents/Writing-first-hudson-plugin.pdf PDF Version]) <br />
*[[Hudson-ci/Extend_Hudson|Developing Plugins for Hudson]]<br />
*[[Hudson-ci/extension-points-doc|Hudson Extension Points Documentation]]<br />
<br />
== Features ==<br />
<br />
*[[Hudson-ci/features/Initial Setup|Initial Setup]] (3.0.0)<br />
<br />
*Team Management (3.1.0)<br />
** [[Hudson-ci/features/Team Concept|Team Management Concept]]<br />
** [[Hudson-ci/features/Team Concept User View|Team Management User View]]<br />
*[[Hudson-ci/features/Restart Within Hudson|Restart Within Hudson]] (3.1.0)<br />
*[[Hudson-ci/features/Memory Performance|Memory Performance]] (3.1.0)<br />
<br />
*[[Hudson-ci/features/Java EE7 Support|Java EE7 Support]] (3.3.0)<br />
<br />
*[[Hudson-ci/features/Load Plugins Without Restart|Load Plugins Without Restart]] (TBD)<br />
*[[Hudson-ci/features/Build Pipeline Orchestration Designer|Build Pipeline Orchestration Designer]] (TBD)<br />
<br />
*[[Hudson-ci/features/Backup|New Backup Strategy]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
*[[Hudson-ci/features/Future Enhancements|Future Enhancements]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
<br />
== Articles ==<br />
<br />
===== Videos =====<br />
<br />
*[http://bcove.me/bngfoog6 JavaOne 2011 OnSite] - An inteview with Winston Prakash and Susan Duncan about Hudson on the JavaOne DemoGrounds (4:58)<br><br />
<br />
===== Presentations =====<br />
<br />
* JavaOne 2011 - Hudson What's New and Next (coming soom) <br />
* How to integrate role strategy plugin with WebLogic LDAP ([[Image:Hudson-Role-v2.pdf|Hudson-Role-v2.pdf]])<br />
* Practicing Continuous Delivery with Hudson ([[Image:Practicing continuous delivery using hudson.pdf | Practicing continuous delivery using hudson]])<br />
<br />
== Future Plans ==<br />
<br />
*[[Hudson-ci/Planning|Hudson Feature Planning]] <br />
*[[Hudson-ci/Planning/Library Cleanup|Library Cleanup]] <br />
*[[Hudson-ci/Planning/Hudson Book Ideas|Hudson Book Ideas]] <br />
*[[Hudson-ci/Planning/Generic Tools Handling|Generic Tools Handling]] <br />
*[[Hudson-ci/Planning/Document Provider|Document Provider]]<br />
<br />
== Release Plan ==<br />
<br />
The release schedule for Hudson is maintained [http://projects.eclipse.org/projects/technology.hudson here].<br />
<br />
== Hudson Community ==<br />
<br />
===== Getting Help =====<br />
*[[Hudson-ci/contacts and help|Contacts and Help]] <br />
*[[Hudson-ci/troubleshooting|Troubleshooting]]<br />
<br />
===== Getting Involved =====<br />
<br />
This section of the wiki tells you how to get more involved with the community and the details and minutes of the community meetings <br />
<br />
*[[Hudson-ci/getting involved|Getting involved with the community]]<br />
<br />
== Migration ==<br />
<br />
===== Project migration to Eclipse =====<br />
<br />
The details of the migration of Hudson project to Eclipse is available at [[Hudson-ci/Eclipse Migration|Eclipse Migration]] page<br />
<br />
<br />
== Hudson Deployment stats ==<br />
<br />
Hudson is a leading Continuous Integration Server and Execution Platform. It is used around the world and more than 30,000 active installations (as of July 2012) are recorded based on the Unique IP pings from these installations. More details [[Hudson-ci/Hudson Install Stats | here]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/alerts/CVE-2015-8031&diff=393739Hudson-ci/alerts/CVE-2015-80312015-11-12T10:00:57Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Hudson | pageTitle = Hudson Security Advisory<br/> CVE-2015-8031}}<br />
<br />
==CVE-2015-8031 - Hudson XML External Entity Injection==<br />
{| class="wikitable" style="text-align: left;" | Summary for CVE-2015-8031<br />
|-<br />
!scope="row" style="text-align: right;" | CVE<br />
|CVE-2015-8031 <br />
|-<br />
!scope="row" style="text-align: right;" | Description<br />
|Hudson XML API External Entity Injection Vunerability<br />
|-<br />
!scope="row" style="text-align: right;" | Severity<br />
|Critical <br />
|-<br />
!scope="row" style="text-align: right;" | Type<br />
|Remote Access Vulnerability<br />
|-<br />
!scope="row" style="text-align: right;" | Version(s) Affected<br />
| All versions prior to 3.3.2<br />
|-<br />
!scope="row" style="text-align: right;" | Bugzilla Ref<br />
| 479777 <br />
|}<br />
===Description===<br />
Prior to version 3.3.2 Hudson exhibits a flaw in it's XML API processing that can allow access to potentially sensitive information on the filesystem of the Hudson master server.<br />
<br />
===Fix===<br />
Hudson users should upgrade to Hudson 3.3.2 or above as soon as possible<br />
<br />
===Credits===<br />
The Hudson Team would like to thank Luca Carettoni, Fabian Beterke and Tushar Dalvi from LinkedIn for their work in uncovering and reporting this vulnerability.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/alerts/CVE-2015-8031&diff=393364Hudson-ci/alerts/CVE-2015-80312015-11-03T11:35:51Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Hudson | pageTitle = Hudson Security Advisory<br/> CVE-2015-8031}}<br />
<br />
==CVE-2015-8031 - Hudson XML External Entity Injection==<br />
{| class="wikitable" style="text-align: left;" | Summary for CVE-2015-8031<br />
|-<br />
!scope="row" style="text-align: right;" | CVE<br />
|CVE-2015-8031 <br />
|-<br />
!scope="row" style="text-align: right;" | Description<br />
|Hudson XML API External Entity Injection Vunerability<br />
|-<br />
!scope="row" style="text-align: right;" | Severity<br />
|Critical <br />
|-<br />
!scope="row" style="text-align: right;" | Type<br />
|Remote Access Vulnerability<br />
|-<br />
!scope="row" style="text-align: right;" | Version(s) Affected<br />
| All versions prior to 3.3.2<br />
|-<br />
!scope="row" style="text-align: right;" | Bugzilla Ref<br />
| 47977 <br />
|}<br />
===Description===<br />
Prior to version 3.3.2 Hudson exhibits a flaw in it's XML API processing that can allow access to potentially sensitive information on the filesystem of the Hudson master server.<br />
<br />
===Fix===<br />
Hudson users should upgrade to Hudson 3.3.2 or above as soon as possible<br />
<br />
===Credits===<br />
The Hudson Team would like to thank Luca Carettoni, Fabian Beterke and Tushar Dalvi from LinkedIn for their work in uncovering and reporting this vulnerability.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/alerts/CVE-2015-8031&diff=393363Hudson-ci/alerts/CVE-2015-80312015-11-03T11:25:49Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Hudson | pageTitle = Hudson Security Advisory CVE-2015-8031}}<br />
<br />
==CVE-2015-8031 - Hudson XML External Entity Injection==<br />
{| class="wikitable" style="text-align: left;" | Summary for CVE-2015-8031<br />
|-<br />
!scope="row" style="text-align: right;" | CVE<br />
|CVE-2015-8031 <br />
|-<br />
!scope="row" style="text-align: right;" | Description<br />
|Hudson XML API External Entity Injection Vunerability<br />
|-<br />
!scope="row" style="text-align: right;" | Severity<br />
|Critical <br />
|-<br />
!scope="row" style="text-align: right;" | Type<br />
|Remote Access Vulnerability<br />
|-<br />
!scope="row" style="text-align: right;" | Version(s) Affected<br />
| All versions prior to 3.3.2<br />
|-<br />
!scope="row" style="text-align: right;" | Bugzilla Ref<br />
| 47977 <br />
|}<br />
===Description===<br />
Prior to version 3.3.2 Hudson exhibits a flaw in it's XML API processing that can allow access to potentially sensitive information on the filesystem of the Hudson master server.<br />
<br />
===Remediation===<br />
Hudson users should upgrade to Hudson 3.3.2 or above as soon as possible<br />
<br />
===Credits===<br />
The Hudson Team would like to thank Luca Carettoni, Fabian Beterke and Tushar Dalvi from LinkedIn for their work in uncovering and reporting this vulnerability.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/alerts/CVE-2015-8031&diff=393362Hudson-ci/alerts/CVE-2015-80312015-11-03T11:02:20Z<p>Duncan.r.mills.gmail.com: Created page with "{{Hudson | pageTitle = Security Advisory CVE-2015-8031}} =CVE-2015-8031 - Hudson XML External Entity Injection="</p>
<hr />
<div>{{Hudson | pageTitle = Security Advisory CVE-2015-8031}}<br />
<br />
=CVE-2015-8031 - Hudson XML External Entity Injection=</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci&diff=393361Hudson-ci2015-11-03T10:57:14Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Template:hudson|pageTitle=Hudson CI|homePage=true}} <br />
<br />
<br> <br> <br />
<br />
<br />
__TOC__ <br />
<br />
<br />
== Using Hudson ==<br />
<br />
*[[Hudson-ci/Meet Hudson|Getting Started with Hudson]] <br />
*[[Hudson-ci/Installing_Hudson|Installing Hudson]]<br />
*[[Using Hudson|Using Hudson]]<br />
*[[Monitoring Hudson| Monitoring Hudson]]<br />
<br />
== Security Advisories ==<br />
*[[Hudson-ci/alerts/CVE-2015-8031|CVE-2015-8031]] - Versions prior to 3.3.2<br />
<br />
== Use Case Study ==<br />
<br />
*[[Hudson-ci/use-cases/EXTOL-International|EXTOL International, Inc.]] (Stuart Lorber)<br />
*[[Hudson-ci/use-cases/metamagix|MetaMagix]] (Randolph Kepplinger)<br />
<br />
== Hudson Books ==<br />
<br />
*[[The Hudson Book]] - A complete ('''''and free''''') reference guide available on-line in html and pdf formats. Also available as a download for your mobile device.<br />
* [http://www.amazon.com/Hudson-Continuous-Integration-Practice-Burns/dp/0071804285 Hudson Continuous Integration in Practice]<br />
<br />
== Hudson Plugins ==<br />
<br />
*[http://wiki.hudson-ci.org/display/HUDSON/Plugins Hudson Plugins documentation] <br />
*[http://wiki.eclipse.org/images/2/2c/HudsonPluginUsageAnalysis.pdf Hudson Plugin Categories and Usage Statistics ](PDF)<br />
<br />
== Developing Hudson ==<br />
<br />
*[[Hudson-ci/development|Information for Hudson Developers, Committers and Contributors]]<br />
*[[Hudson-ci/development/third party libraries|Third party libraries used by Hudson]]<br />
<br />
== Developing Hudson Plugins ==<br />
<br />
*[[Hudson-ci/writing-first-hudson-plugin|Writing your first Hudson Plugin]] / ([http://www.eclipse.org/hudson/documents/Writing-first-hudson-plugin.pdf PDF Version]) <br />
*[[Hudson-ci/Extend_Hudson|Developing Plugins for Hudson]]<br />
*[[Hudson-ci/extension-points-doc|Hudson Extension Points Documentation]]<br />
<br />
== Features ==<br />
<br />
*[[Hudson-ci/features/Initial Setup|Initial Setup]] (3.0.0)<br />
<br />
*Team Management (3.1.0)<br />
** [[Hudson-ci/features/Team Concept|Team Management Concept]]<br />
** [[Hudson-ci/features/Team Concept User View|Team Management User View]]<br />
*[[Hudson-ci/features/Restart Within Hudson|Restart Within Hudson]] (3.1.0)<br />
*[[Hudson-ci/features/Memory Performance|Memory Performance]] (3.1.0)<br />
<br />
*[[Hudson-ci/features/Java EE7 Support|Java EE7 Support]] (3.3.0)<br />
<br />
*[[Hudson-ci/features/Load Plugins Without Restart|Load Plugins Without Restart]] (TBD)<br />
*[[Hudson-ci/features/Build Pipeline Orchestration Designer|Build Pipeline Orchestration Designer]] (TBD)<br />
<br />
*[[Hudson-ci/features/Backup|New Backup Strategy]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
*[[Hudson-ci/features/Future Enhancements|Future Enhancements]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
<br />
== Articles ==<br />
<br />
===== Videos =====<br />
<br />
*[http://bcove.me/bngfoog6 JavaOne 2011 OnSite] - An inteview with Winston Prakash and Susan Duncan about Hudson on the JavaOne DemoGrounds (4:58)<br><br />
<br />
===== Presentations =====<br />
<br />
* JavaOne 2011 - Hudson What's New and Next (coming soom) <br />
* How to integrate role strategy plugin with WebLogic LDAP ([[Image:Hudson-Role-v2.pdf|Hudson-Role-v2.pdf]])<br />
* Practicing Continuous Delivery with Hudson ([[Image:Practicing continuous delivery using hudson.pdf | Practicing continuous delivery using hudson]])<br />
<br />
== Future Plans ==<br />
<br />
*[[Hudson-ci/Planning|Hudson Feature Planning]] <br />
*[[Hudson-ci/Planning/Library Cleanup|Library Cleanup]] <br />
*[[Hudson-ci/Planning/Hudson Book Ideas|Hudson Book Ideas]] <br />
*[[Hudson-ci/Planning/Generic Tools Handling|Generic Tools Handling]] <br />
*[[Hudson-ci/Planning/Document Provider|Document Provider]]<br />
<br />
== Release Plan ==<br />
<br />
The release schedule for Hudson is maintained [http://projects.eclipse.org/projects/technology.hudson here].<br />
<br />
== Hudson Community ==<br />
<br />
===== Getting Help =====<br />
*[[Hudson-ci/contacts and help|Contacts and Help]] <br />
*[[Hudson-ci/troubleshooting|Troubleshooting]]<br />
<br />
===== Getting Involved =====<br />
<br />
This section of the wiki tells you how to get more involved with the community and the details and minutes of the community meetings <br />
<br />
*[[Hudson-ci/getting involved|Getting involved with the community]]<br />
<br />
== Migration ==<br />
<br />
===== Project migration to Eclipse =====<br />
<br />
The details of the migration of Hudson project to Eclipse is available at [[Hudson-ci/Eclipse Migration|Eclipse Migration]] page<br />
<br />
<br />
== Hudson Deployment stats ==<br />
<br />
Hudson is a leading Continuous Integration Server and Execution Platform. It is used around the world and more than 30,000 active installations (as of July 2012) are recorded based on the Unique IP pings from these installations. More details [[Hudson-ci/Hudson Install Stats | here]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/development/releaseartifacts&diff=388521Hudson-ci/development/releaseartifacts2015-07-13T08:30:38Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Release Artifacts}} <br />
<br />
== Base Distribution ==<br />
<br />
The base distribution for Hudson is a WAR file which can be obtained from the [http://www.eclipse.org/hudson/download.php Hudson download page]. This version represents just the Hudson Core without any plugins included. This distribution is fully Eclipse and under EPL.<br />
<br />
When you first run this version in a clean setup you will be prompted to carry out extra setup and install a set of recommended plugins as well as any others that you might need.<br />
<br />
== Operating System Specific Distributions ==<br />
<br />
As well as providing the cross O/S WAR distribution, Hudson is also available as a series of O/S specific install packages: <br />
<br />
*.'''deb '''- for Debian and Ubuntu <br />
*'''RedHat .rpm''' - for RedHat, Fedora, CentOS and Oracle Linux <br />
*'''OpenSUSE .rpm''' - for SUSE Linux<br />
<br />
These distributions are all hosted on java.net and can be downloaded from [http://hudson-ci.org hudson-ci.org]. These distributions are a mix of MIT and EPL.<br />
<br />
Windows users should download and use either of the two WAR distributions (Base or Plugin Bundle).<br />
<br />
== Plugin Bundle WAR Distribution ==<br />
<br />
To provide a smoother out-of-the box experience for Hudson users, we also provide a plugin bundle WAR distribution. This distribution includes the most commonly used plugins pre-installed for you. This is a larger download (~93 megabytes as opposed to ~26 for the base WAR. Because the Plugin Bundle WAR contains non-Eclipse code (third party plugins) it is hosted on [http://hudson-ci.org hudson-ci.org], and contains a mix of EPL and MIT licensed artifacts. <br />
<br />
{{note|Warning - Beta Distribution|For the moment we recommend that you only use this Plugin Bundle WAR distribution on a clean (empty) Hudson Home. This is because of the risk of incompatibilities between the plugins automatically installed with this distribution and any that you may already be using. In a future version we will provide you with an opportunity to configure the plugin set as part of the install process. This enhancement is tracked in Bugzilla as Issue: 397663}} <br />
<br />
=== Plugins Included in this Distribution ===<br />
<br />
The Plugin Bundle WAR contains the following commonly used plugins: <br />
<br />
*'''Static Analysis Utilities '''- This plug-in provides utilities for the static code analysis plug-ins. <br />
*'''Checkstyle''' Plug-in - This plug-in collects the Checkstyle analysis results of the project modules and visualizes the found warnings. <br />
*'''CVS '''Plug-in <br />
*'''Deploy''' Plugin - This plugin allows you to deploy a war to a container after a successful build. <br />
*'''Disk-usage''' plugin - This plugin counts disk usage. <br />
*'''Email Extension''' Plugin - This plugin is a replacement for Hudson's built-in email publisher <br />
*'''FindBugs '''Plug-in - This plug-in collects the FindBugs analysis results of the project modules and visualizes the found warnings. <br />
*'''GIT''' plugin - This plugin integrates GIT with Hudson. <br />
*'''Groovy Support''' Plugin <br />
*'''JFreeChart''' Plugin <br />
*'''JNA Native Support''' Plugin <br />
*'''Maven 2 job type''' Plugin - legacy Maven support <br />
*'''Maven 3''' Plugin <br />
*'''PMD '''Plug-in - This plug-in collects the PMD analysis results of the project modules and visualizes the found warnings. <br />
*'''REST '''Plugin <br />
*'''SSH''' Slaves plugin <br />
*'''Subversion''' Plug-in <br />
*'''Translation''' Assistance plugin <br />
*'''XPath Provider '''Plugin - This plugin provides XPath support for Hudson<br />
<br />
== What About Pre-Eclipse Versions? ==<br />
As an Eclipse project, Hudson has to be extremely careful with respect to IP issues and what can and cannot be downloaded from the Eclipse WebSite. Versions of Hudson created before it became an Eclipse project have not gone through the same due diligence process as the Eclipse version and so we have taken the decision to not make these old versions generally available. If you really need access to a pre-Hudson 3.0 version just drop a mail to the [mailto:hudson-dev@eclipse.org Hudson Developers List].</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci&diff=388519Hudson-ci2015-07-13T08:16:45Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Template:hudson|pageTitle=Hudson CI|homePage=true}} <br />
<br />
<br> <br> <br />
<br />
<br />
__TOC__ <br />
<br />
<br />
== Using Hudson ==<br />
<br />
*[[Hudson-ci/Meet Hudson|Getting Started with Hudson]] <br />
*[[Hudson-ci/Installing_Hudson|Installing Hudson]]<br />
*[[Using Hudson|Using Hudson]]<br />
*[[Monitoring Hudson| Monitoring Hudson]]<br />
<br />
== Use Case Study ==<br />
<br />
*[[Hudson-ci/use-cases/EXTOL-International|EXTOL International, Inc]] (Stuart Lorber)<br />
*[[Hudson-ci/use-cases/metamagix|MetaMagix]] (Randolph Kepplinger)<br />
<br />
== Hudson Books ==<br />
<br />
*[[The Hudson Book]] - A complete ('''''and free''''') reference guide available on-line in html and pdf formats. Also available as a download for your mobile device.<br />
* [http://www.amazon.com/Hudson-Continuous-Integration-Practice-Burns/dp/0071804285 Hudson Continuous Integration in Practice]<br />
<br />
== Hudson Plugins ==<br />
<br />
*[http://wiki.hudson-ci.org/display/HUDSON/Plugins Hudson Plugins documentation] <br />
*[http://wiki.eclipse.org/images/2/2c/HudsonPluginUsageAnalysis.pdf Hudson Plugin Categories and Usage Statistics ](PDF)<br />
<br />
== Developing Hudson ==<br />
<br />
*[[Hudson-ci/development|Information for Hudson Developers, Committers and Contributors]]<br />
*[[Hudson-ci/development/third party libraries|Third party libraries used by Hudson]]<br />
<br />
== Developing Hudson Plugins ==<br />
<br />
*[[Hudson-ci/writing-first-hudson-plugin|Writing your first Hudson Plugin]] / ([http://www.eclipse.org/hudson/documents/Writing-first-hudson-plugin.pdf PDF Version]) <br />
*[[Hudson-ci/Extend_Hudson|Developing Plugins for Hudson]]<br />
*[[Hudson-ci/extension-points-doc|Hudson Extension Points Documentation]]<br />
<br />
== Features ==<br />
<br />
*[[Hudson-ci/features/Initial Setup|Initial Setup]] (3.0.0)<br />
<br />
*Team Management (3.1.0)<br />
** [[Hudson-ci/features/Team Concept|Team Management Concept]]<br />
** [[Hudson-ci/features/Team Concept User View|Team Management User View]]<br />
*[[Hudson-ci/features/Restart Within Hudson|Restart Within Hudson]] (3.1.0)<br />
*[[Hudson-ci/features/Memory Performance|Memory Performance]] (3.1.0)<br />
<br />
*[[Hudson-ci/features/Java EE7 Support|Java EE7 Support]] (3.3.0)<br />
<br />
*[[Hudson-ci/features/Load Plugins Without Restart|Load Plugins Without Restart]] (TBD)<br />
*[[Hudson-ci/features/Build Pipeline Orchestration Designer|Build Pipeline Orchestration Designer]] (TBD)<br />
<br />
*[[Hudson-ci/features/Backup|New Backup Strategy]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
*[[Hudson-ci/features/Future Enhancements|Future Enhancements]] (TBD) (Proposal by '''''Stuart Lorber''''')<br />
<br />
== Articles ==<br />
<br />
===== Videos =====<br />
<br />
*[http://bcove.me/bngfoog6 JavaOne 2011 OnSite] - An inteview with Winston Prakash and Susan Duncan about Hudson on the JavaOne DemoGrounds (4:58)<br><br />
<br />
===== Presentations =====<br />
<br />
* JavaOne 2011 - Hudson What's New and Next (coming soom) <br />
* How to integrate role strategy plugin with WebLogic LDAP ([[Image:Hudson-Role-v2.pdf|Hudson-Role-v2.pdf]])<br />
* Practicing Continuous Delivery with Hudson ([[Image:Practicing continuous delivery using hudson.pdf | Practicing continuous delivery using hudson]])<br />
<br />
== Future Plans ==<br />
<br />
*[[Hudson-ci/Planning|Hudson Feature Planning]] <br />
*[[Hudson-ci/Planning/Library Cleanup|Library Cleanup]] <br />
*[[Hudson-ci/Planning/Hudson Book Ideas|Hudson Book Ideas]] <br />
*[[Hudson-ci/Planning/Generic Tools Handling|Generic Tools Handling]] <br />
*[[Hudson-ci/Planning/Document Provider|Document Provider]]<br />
<br />
== Release Plan ==<br />
<br />
The release schedule for Hudson is maintained [http://projects.eclipse.org/projects/technology.hudson here].<br />
<br />
== Hudson Community ==<br />
<br />
===== Getting Help =====<br />
*[[Hudson-ci/contacts and help|Contacts and Help]] <br />
*[[Hudson-ci/troubleshooting|Troubleshooting]]<br />
<br />
===== Getting Involved =====<br />
<br />
This section of the wiki tells you how to get more involved with the community and the details and minutes of the community meetings <br />
<br />
*[[Hudson-ci/getting involved|Getting involved with the community]]<br />
<br />
== Migration ==<br />
<br />
===== Project migration to Eclipse =====<br />
<br />
The details of the migration of Hudson project to Eclipse is available at [[Hudson-ci/Eclipse Migration|Eclipse Migration]] page<br />
<br />
<br />
== Hudson Deployment stats ==<br />
<br />
Hudson is a leading Continuous Integration Server and Execution Platform. It is used around the world and more than 30,000 active installations (as of July 2012) are recorded based on the Unique IP pings from these installations. More details [[Hudson-ci/Hudson Install Stats | here]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/community_meetings/January282015&diff=377068Hudson-ci/community meetings/January2820152015-01-28T11:39:01Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Community Meeting 28-January-2015}} <br />
<br />
<br> <br />
<br />
= Agenda = <br />
<br />
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&order=Importance&product=Hudson&query_format=advanced&status_whiteboard=candidate-3.2.2&status_whiteboard_type=allwordssubstr Hudson 3.2.2] Status and Schedule - deciding which bugs will make the final cut and QA status<br />
* RobustReflectionConverter logging issue ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=443880 443880])<br />
* Remember Password issue ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=423108 423108])<br />
* CLI Authentication with PAM provider ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=458304 458304]) <br />
* 3.3.0 planning<br />
<br />
Any other topics that come from the community<br />
<br />
= Attendees =<br />
<br />
<br />
= Minutes =</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/community_meetings/January282015&diff=377067Hudson-ci/community meetings/January2820152015-01-28T11:33:23Z<p>Duncan.r.mills.gmail.com: Created page with "{{hudson|pageTitle=Community Meeting 28-January-2015}} <br> = Agenda = * [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSI..."</p>
<hr />
<div>{{hudson|pageTitle=Community Meeting 28-January-2015}} <br />
<br />
<br> <br />
<br />
= Agenda = <br />
<br />
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&order=Importance&product=Hudson&query_format=advanced&status_whiteboard=candidate-3.2.2&status_whiteboard_type=allwordssubstr Hudson 3.2.2] Status and Schedule - deciding which bugs will make the final cut and QA status<br />
* CLI Authentication with PAM provider (458304) <br />
<br />
Any other topics that come from the community<br />
<br />
= Attendees =<br />
<br />
<br />
= Minutes =</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/community_meetings&diff=377066Hudson-ci/community meetings2015-01-28T11:32:40Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Hudson|pageTitle=Community Meetings}} <br />
<br />
The Hudson community holds bi-weekly phone meetings that are open for all to join in with and have a voice. Key decisions, such as feature lists and bug fixing priorities are discussed at these meetings so if there is something that you really care about speak up. <br />
<br />
== Next Meeting ==<br />
<br />
The next community meeting is scheduled for '''5pm UTC on January 28th 2015''' <br> <br />
<br />
*[[Hudson-ci/community meetings/January282015|Agenda]]<br />
<br />
A random cross section of cities to help you get the time right where you are. <br />
<br />
<br> <br />
<br />
{| width="300" cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| London, Dublin, Lisbon (UTC + 1 or UTC depending on Summertime)<br />
| 5pm <br />
| 17:00<br />
|-<br />
| Paris, Berlin, Amsterdam,Copenhagen etc. <br />
| 6pm <br />
| 18:00<br />
|-<br />
| Rio &nbsp;De Janeiro<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
| 3pm <br />
| 15:00<br />
|-<br />
| Boston, New York, Montreal <br />
| 12 Noon <br />
| 12:00<br />
|-<br />
| Mexico City <br />
| 11am <br />
| 11:00<br />
|-<br />
| San Francisco, Seattle, <br />
| 9am <br />
| 9:00<br />
|-<br />
| Honolulu <br />
| 7am <br />
| 7:00<br />
|-<br />
| Bangalore <br />
| 10:30pm <br />
| 22:30<br />
|-<br />
| Christmas Island <br />
| Midnight <br />
| 24:00<br />
|}<br />
<br />
Note that the meeting is anchored on Pacific Standard Time (PST or UTC + 8) so a couple of times a year you'll need to be careful as the clocks change. English is the [http://en.wikipedia.org/wiki/Lingua_franca Lingua Franca] of the community, but don't worry if it's not your first language we don't take it too seriously! If your time zone just won't work with 9am PST time (and we understand that problem!) then on request we can hold one earlier in the day as well - just let us know.&nbsp; <br />
<br />
<br> <br />
<br />
=== Dial in Information ===<br />
<br />
[http://www.oracle.com Oracle] kindly sponsor the Hudson project and allow us to use their &nbsp;audio conference system for these meetings. When dialing in you'll need the following information: <br />
<br />
<br> <br />
<br />
{| width="300" cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| '''Conference ID''' <br />
| 5324896<br><br />
|-<br />
| '''Security Code''' <br />
| 1234<br />
|}<br />
<br />
=== Toll Free Phone Numbers ===<br />
<br />
{| width="300" cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| '''UK''' <br />
| 0800 6948154<br />
|-<br />
| '''North America''' <br />
| 1 866 682 4770<br />
|-<br />
| '''Germany''' <br />
| 0800 6648515<br />
|-<br />
| '''France''' <br />
| 0805632866<br />
|-<br />
| '''Spain''' <br />
| 800098600<br />
|-<br />
| '''Brazil''' <br />
| 0800 8916307<br />
|-<br />
| '''Denmark''' <br />
| 80 88 90 99<br />
|}<br />
<br />
<br> If your country is not listed here don't worry - there will probably be a toll free number for where-ever you are. See [http://www.intercall.com/oracle/access_numbers.htm Global Access Number] (Use the Toll free numbers. Ignore the references to the cheapest call rate - these are for callers from Oracle offices) or just drop an email to the [http://dev.eclipse.org/mailman/listinfo/hudson-dev Hudson Developer list] and we'll add it into the page here for you<br />
<br />
== Past Meetings ==<br />
<br />
*[[Hudson-ci/community meetings/November052014|5th November 2014]]<br />
*[[Hudson-ci/community meetings/October222014|22nd October 2014]]<br />
*[[Hudson-ci/community meetings/October082014|8th October 2014]]<br />
*[[Hudson-ci/community meetings/September24182014|24th September 2014]]<br />
*[[Hudson-ci/community meetings/September10182014|10th September 2014]]<br />
*[[Hudson-ci/community meetings/August27182014|27th August 2014]]<br />
*[[Hudson-ci/community meetings/August13182014|13th August 2014]]<br />
*[[Hudson-ci/community meetings/July30182014|30th July 2014]]<br />
*[[Hudson-ci/community meetings/July16182014|16th July 2014]]<br />
*[[Hudson-ci/community meetings/July02182014|2nd July 2014]]<br />
*[[Hudson-ci/community meetings/June182014|18th June 2014]]<br />
*[[Hudson-ci/community meetings/June042014|4th June 2014]]<br />
*[[Hudson-ci/community meetings/May192014|19th May 2014]]<br />
*[[Hudson-ci/community meetings/May052014|5th May 2014]]<br />
*[[Hudson-ci/community meetings/April212014|21st April 2014]]<br />
*[[Hudson-ci/community meetings/April072014|7th April 2014]]<br />
*[[Hudson-ci/community meetings/March242014|24th March 2014]]<br />
*[[Hudson-ci/community meetings/March102014|10th March 2014]]<br />
* No meeting on February 24th<br />
*[[Hudson-ci/community meetings/February102014|10th February 2014]]<br />
*[[Hudson-ci/community meetings/January272014|27th January 2014]]<br />
*[[Hudson-ci/community meetings/January132014|13th January 2014]]<br />
*[[Hudson-ci/community meetings/December162013|16th December 2013]]<br />
*[[Hudson-ci/community meetings/December022013|2nd December 2013]]<br />
*[[Hudson-ci/community meetings/November182013|18th November 2013]]<br />
*[[Hudson-ci/community meetings/November042013|4th November 2013]]<br />
*[[Hudson-ci/community meetings/October182013|18th October 2013]]<br />
*[[Hudson-ci/community meetings/October072013|7th October 2013]]<br />
*[[Hudson-ci/community meetings/September232013|23th September 2013]]<br />
*[[Hudson-ci/community meetings/September102013|10th September 2013]]<br />
*[[Hudson-ci/community meetings/August262013|26th August 2013]]<br />
*[[Hudson-ci/community meetings/August122013|12th August 2013]]<br />
*[[Hudson-ci/community meetings/July292013|29th July 2013]]<br />
*[[Hudson-ci/community meetings/July152013|15th July 2013]]<br />
*[[Hudson-ci/community meetings/July012013|1st July 2013]]<br />
*[[Hudson-ci/community meetings/June172013|17th June 2013]]<br />
*[[Hudson-ci/community meetings/June032013|3rd June 2013]]<br />
*[[Hudson-ci/community meetings/May202013|20th May 2013]]<br />
*[[Hudson-ci/community meetings/May062013|6th May 2013]]<br />
*[[Hudson-ci/community meetings/April222013|22nd April 2013]]<br />
*[[Hudson-ci/community_meetings/April82013|8th April 2013]]<br />
*[[Hudson-ci/community_meetings/March252013|25th March 2013]]<br />
*[[Hudson-ci/community_meetings/March112013|11th March 2013]]<br />
*[[Hudson-ci/community_meetings/February252013|25th February 2013]]<br />
*[[Hudson-ci/community meetings/Jan282013|28th January 2013]]<br />
*[[Hudson-ci/community_meetings/Jan212013 |21st January 2013]]<br />
*[[Hudson-ci/community meetings/Dec122012|12th December 2012]] <br />
*[[Hudson-ci/community meetings/Nov052012|5th November 2012]] <br />
*[[Hudson-ci/community meetings/Sep242012|24th September 2012]] <br />
*[[Hudson-ci/community meetings/Aug282012|28th August 2012]] <br />
*[[Hudson-ci/community meetings/Aug132012|13th August 2012]] <br />
*[[Hudson-ci/community meetings/Jul232012|23rd July 2012]] <br />
*[[Hudson-ci/community meetings/Jul092012|9th July 2012]] <br />
*[[Hudson-ci/community meetings/Jun112012|11th June 2012]] <br />
*[[Hudson-ci/community meetings/May302012|30th May 2012]] <br />
*[[Hudson-ci/community meetings/May142012|14th May 2012]] <br />
*[[Hudson-ci/community meetings/Apr302012|30th April 2012]] <br />
*[[Hudson-ci/community meetings/Apr162012|16th April 2012]] <br />
*[[Hudson-ci/community meetings/Mar202012|20th March 2012]] <br />
*[[Hudson-ci/community meetings/Mar052012|5th March 2012]] <br />
*[[Hudson-ci/community meetings/Feb202012|20th February 2012]] <br />
*[[Hudson-ci/community meetings/Jan092012|6th February 2012]] <br />
*[[Hudson-ci/community meetings/23jan2012|23rd January 2012]] <br />
*[[Hudson-ci/community meetings/previousminutes|2011 Meeting Minutes]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/community_meetings&diff=377065Hudson-ci/community meetings2015-01-28T11:28:53Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{Hudson|pageTitle=Community Meetings}} <br />
<br />
The Hudson community holds bi-weekly phone meetings that are open for all to join in with and have a voice. Key decisions, such as feature lists and bug fixing priorities are discussed at these meetings so if there is something that you really care about speak up. <br />
<br />
== Next Meeting ==<br />
<br />
The next community meeting is scheduled for '''5pm UTC on January 28th 2015''' <br> <br />
<br />
*[[Hudson-ci/community meetings/December280115|Agenda]]<br />
<br />
A random cross section of cities to help you get the time right where you are. <br />
<br />
<br> <br />
<br />
{| width="300" cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| London, Dublin, Lisbon (UTC + 1 or UTC depending on Summertime)<br />
| 5pm <br />
| 17:00<br />
|-<br />
| Paris, Berlin, Amsterdam,Copenhagen etc. <br />
| 6pm <br />
| 18:00<br />
|-<br />
| Rio &nbsp;De Janeiro<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
| 3pm <br />
| 15:00<br />
|-<br />
| Boston, New York, Montreal <br />
| 12 Noon <br />
| 12:00<br />
|-<br />
| Mexico City <br />
| 11am <br />
| 11:00<br />
|-<br />
| San Francisco, Seattle, <br />
| 9am <br />
| 9:00<br />
|-<br />
| Honolulu <br />
| 7am <br />
| 7:00<br />
|-<br />
| Bangalore <br />
| 10:30pm <br />
| 22:30<br />
|-<br />
| Christmas Island <br />
| Midnight <br />
| 24:00<br />
|}<br />
<br />
Note that the meeting is anchored on Pacific Standard Time (PST or UTC + 8) so a couple of times a year you'll need to be careful as the clocks change. English is the [http://en.wikipedia.org/wiki/Lingua_franca Lingua Franca] of the community, but don't worry if it's not your first language we don't take it too seriously! If your time zone just won't work with 9am PST time (and we understand that problem!) then on request we can hold one earlier in the day as well - just let us know.&nbsp; <br />
<br />
<br> <br />
<br />
=== Dial in Information ===<br />
<br />
[http://www.oracle.com Oracle] kindly sponsor the Hudson project and allow us to use their &nbsp;audio conference system for these meetings. When dialing in you'll need the following information: <br />
<br />
<br> <br />
<br />
{| width="300" cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| '''Conference ID''' <br />
| 5324896<br><br />
|-<br />
| '''Security Code''' <br />
| 1234<br />
|}<br />
<br />
=== Toll Free Phone Numbers ===<br />
<br />
{| width="300" cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| '''UK''' <br />
| 0800 6948154<br />
|-<br />
| '''North America''' <br />
| 1 866 682 4770<br />
|-<br />
| '''Germany''' <br />
| 0800 6648515<br />
|-<br />
| '''France''' <br />
| 0805632866<br />
|-<br />
| '''Spain''' <br />
| 800098600<br />
|-<br />
| '''Brazil''' <br />
| 0800 8916307<br />
|-<br />
| '''Denmark''' <br />
| 80 88 90 99<br />
|}<br />
<br />
<br> If your country is not listed here don't worry - there will probably be a toll free number for where-ever you are. See [http://www.intercall.com/oracle/access_numbers.htm Global Access Number] (Use the Toll free numbers. Ignore the references to the cheapest call rate - these are for callers from Oracle offices) or just drop an email to the [http://dev.eclipse.org/mailman/listinfo/hudson-dev Hudson Developer list] and we'll add it into the page here for you<br />
<br />
== Past Meetings ==<br />
<br />
*[[Hudson-ci/community meetings/November052014|5th November 2014]]<br />
*[[Hudson-ci/community meetings/October222014|22nd October 2014]]<br />
*[[Hudson-ci/community meetings/October082014|8th October 2014]]<br />
*[[Hudson-ci/community meetings/September24182014|24th September 2014]]<br />
*[[Hudson-ci/community meetings/September10182014|10th September 2014]]<br />
*[[Hudson-ci/community meetings/August27182014|27th August 2014]]<br />
*[[Hudson-ci/community meetings/August13182014|13th August 2014]]<br />
*[[Hudson-ci/community meetings/July30182014|30th July 2014]]<br />
*[[Hudson-ci/community meetings/July16182014|16th July 2014]]<br />
*[[Hudson-ci/community meetings/July02182014|2nd July 2014]]<br />
*[[Hudson-ci/community meetings/June182014|18th June 2014]]<br />
*[[Hudson-ci/community meetings/June042014|4th June 2014]]<br />
*[[Hudson-ci/community meetings/May192014|19th May 2014]]<br />
*[[Hudson-ci/community meetings/May052014|5th May 2014]]<br />
*[[Hudson-ci/community meetings/April212014|21st April 2014]]<br />
*[[Hudson-ci/community meetings/April072014|7th April 2014]]<br />
*[[Hudson-ci/community meetings/March242014|24th March 2014]]<br />
*[[Hudson-ci/community meetings/March102014|10th March 2014]]<br />
* No meeting on February 24th<br />
*[[Hudson-ci/community meetings/February102014|10th February 2014]]<br />
*[[Hudson-ci/community meetings/January272014|27th January 2014]]<br />
*[[Hudson-ci/community meetings/January132014|13th January 2014]]<br />
*[[Hudson-ci/community meetings/December162013|16th December 2013]]<br />
*[[Hudson-ci/community meetings/December022013|2nd December 2013]]<br />
*[[Hudson-ci/community meetings/November182013|18th November 2013]]<br />
*[[Hudson-ci/community meetings/November042013|4th November 2013]]<br />
*[[Hudson-ci/community meetings/October182013|18th October 2013]]<br />
*[[Hudson-ci/community meetings/October072013|7th October 2013]]<br />
*[[Hudson-ci/community meetings/September232013|23th September 2013]]<br />
*[[Hudson-ci/community meetings/September102013|10th September 2013]]<br />
*[[Hudson-ci/community meetings/August262013|26th August 2013]]<br />
*[[Hudson-ci/community meetings/August122013|12th August 2013]]<br />
*[[Hudson-ci/community meetings/July292013|29th July 2013]]<br />
*[[Hudson-ci/community meetings/July152013|15th July 2013]]<br />
*[[Hudson-ci/community meetings/July012013|1st July 2013]]<br />
*[[Hudson-ci/community meetings/June172013|17th June 2013]]<br />
*[[Hudson-ci/community meetings/June032013|3rd June 2013]]<br />
*[[Hudson-ci/community meetings/May202013|20th May 2013]]<br />
*[[Hudson-ci/community meetings/May062013|6th May 2013]]<br />
*[[Hudson-ci/community meetings/April222013|22nd April 2013]]<br />
*[[Hudson-ci/community_meetings/April82013|8th April 2013]]<br />
*[[Hudson-ci/community_meetings/March252013|25th March 2013]]<br />
*[[Hudson-ci/community_meetings/March112013|11th March 2013]]<br />
*[[Hudson-ci/community_meetings/February252013|25th February 2013]]<br />
*[[Hudson-ci/community meetings/Jan282013|28th January 2013]]<br />
*[[Hudson-ci/community_meetings/Jan212013 |21st January 2013]]<br />
*[[Hudson-ci/community meetings/Dec122012|12th December 2012]] <br />
*[[Hudson-ci/community meetings/Nov052012|5th November 2012]] <br />
*[[Hudson-ci/community meetings/Sep242012|24th September 2012]] <br />
*[[Hudson-ci/community meetings/Aug282012|28th August 2012]] <br />
*[[Hudson-ci/community meetings/Aug132012|13th August 2012]] <br />
*[[Hudson-ci/community meetings/Jul232012|23rd July 2012]] <br />
*[[Hudson-ci/community meetings/Jul092012|9th July 2012]] <br />
*[[Hudson-ci/community meetings/Jun112012|11th June 2012]] <br />
*[[Hudson-ci/community meetings/May302012|30th May 2012]] <br />
*[[Hudson-ci/community meetings/May142012|14th May 2012]] <br />
*[[Hudson-ci/community meetings/Apr302012|30th April 2012]] <br />
*[[Hudson-ci/community meetings/Apr162012|16th April 2012]] <br />
*[[Hudson-ci/community meetings/Mar202012|20th March 2012]] <br />
*[[Hudson-ci/community meetings/Mar052012|5th March 2012]] <br />
*[[Hudson-ci/community meetings/Feb202012|20th February 2012]] <br />
*[[Hudson-ci/community meetings/Jan092012|6th February 2012]] <br />
*[[Hudson-ci/community meetings/23jan2012|23rd January 2012]] <br />
*[[Hudson-ci/community meetings/previousminutes|2011 Meeting Minutes]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=File:Hudson_executor_starvation.png&diff=367022File:Hudson executor starvation.png2014-07-11T14:12:45Z<p>Duncan.r.mills.gmail.com: Image for Execution Starvation article</p>
<hr />
<div>Image for Execution Starvation article</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Executor_Stavation&diff=367021Hudson-ci/Using Hudson/Executor Stavation2014-07-11T14:12:34Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Executor Starvation}}<br />
If you see a little black clock icon in the build queue as shown below, it is an indication that your job is sitting in the queue unnecessarily.<br />
[[File:Hudson_executor_starvation.png]]<br />
<br />
The tooltip should tell you exactly why it is not building, but the common symptoms are as follows:<br />
<br />
# '''Slaves are offline''': your build needs to run on a particular slave, but the slave is offline. Go to http://server/hudson/computer/SLAVENAME to figure out why, and bring it back online. Or better yet, use labels and do not tie builds to specific slaves, so that a single offline slave will not prevent your builds from starving.<br />
# '''Waiting for an available executor on a slave''': your build needs to run on a particular slave, but the slave is already fully busy building other things, and your build is waiting for "too long" compared to the time it takes to execute it — in other words, it does not make sense to wait for 5 minutes when the build itself finishes in 2 minutes. Use labels so that builds can run on any machine that satisfies the system requirements, and in this way you can add more slaves to improve the turn-around time.<br />
# '''Waiting for an available executor on a label''': all the slaves that have the given label are fully busy doing other things. It is time to add more slaves.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Executor_Stavation&diff=367020Hudson-ci/Using Hudson/Executor Stavation2014-07-11T14:11:43Z<p>Duncan.r.mills.gmail.com: Created page with "{{hudson|pageTitle=Executor Starvation}} If you see a little black clock icon in the build queue as shown below, it is an indication that your job is sitting in the queue unne..."</p>
<hr />
<div>{{hudson|pageTitle=Executor Starvation}}<br />
If you see a little black clock icon in the build queue as shown below, it is an indication that your job is sitting in the queue unnecessarily.<br />
[[File:Hudson_executor_starvation.png]]<br />
<br />
The tooltip should tell you exactly why it is not building, but the common symptoms are as follows:<br />
<br />
# Slaves are offline: your build needs to run on a particular slave, but the slave is offline. Go to http://server/hudson/computer/SLAVENAME to figure out why, and bring it back online. Or better yet, use labels and do not tie builds to specific slaves, so that a single offline slave will not prevent your builds from starving.<br />
# Waiting for an available executor on a slave: your build needs to run on a particular slave, but the slave is already fully busy building other things, and your build is waiting for "too long" compared to the time it takes to execute it — in other words, it does not make sense to wait for 5 minutes when the build itself finishes in 2 minutes. Use labels so that builds can run on any machine that satisfies the system requirements, and in this way you can add more slaves to improve the turn-around time.<br />
# Waiting for an available executor on a label: all the slaves that have the given label are fully busy doing other things. It is time to add more slaves.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson&diff=367019Hudson-ci/Using Hudson2014-07-11T14:09:14Z<p>Duncan.r.mills.gmail.com: /* Using Hudson */</p>
<hr />
<div>{{hudson|pageTitle=Using Hudson}}<br />
== Using Hudson ==<br />
<br />
* [[Hudson-ci/Installing Hudson|Installing Hudson]]<br />
* [[Hudson-ci/Containers|Hudson on various Servlet Containers]]<br />
* [[Starting and Accessing Hudson|Starting and Accessing Hudson]]<br />
* [[Administering Hudson|Administering Hudson]]<br />
* [[Building a software project|Building a software project]]<br />
* [[Building a maven2 project|Building a maven2 project]]<br />
* [[Building a multi-configuration project|Building a multi-configuration project]]<br />
* [[Monitoring external jobs|Monitoring external jobs]]<br />
* [[Distributed builds|Distributed builds]]<br />
* [[Hudson-ci/Using_Hudson/Parameterized Builds|Parameterized Builds]]<br />
* [[Features controlled by system properties|Features controlled by system properties]]<br />
* [[Fingerprint| Tracking version using Fingerprint]]<br />
* [[http://wiki.hudson-ci.org/display/HUDSON/Plugins Using Hudson Plugins]]<br />
* [[Hudson-ci/Using_Hudson/Pinned_Plugins|Pinned Plugins]]<br />
* [[Quicker navigation around Hudson pages|Search Box]]<br />
* [[Hudson script console]]<br />
* [[Command-line interface|Hudson CLI]]<br />
* [[Hudson-ci/Using_Hudson/Securing_Hudson|Securing Hudson]]<br />
* [[Hudson-ci/Using_Hudson/Statistics_Collection|Hudson Statistics Collection]]<br />
* [[Hudson-ci/Using_Hudson/Dead_Executors|Dead Executors]]<br />
* [[Hudson-ci/Using_Hudson/Executor_Stavation|Executor Starvation]]<br />
* [[Remote access API]]<br />
* [[Change time zone]]<br />
* [[Splitting a big job into smaller jobs]]<br />
* [http://jenkins.361315.n4.nabble.com/how-are-you-using-Hudson-for-non-Java-projects-td386875.html|Using Hudson for non-Java projects]<br />
** [http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html|in particular for .NET]<br />
* [[Using other shells (for ex. Python)|Shells]]<br />
* [[Post-initialization script|Post-initialization script]]<br />
* [[Collecting more logs on what Hudson is doing|Logging]]<br />
* [https://github.com/hudson-plugins/jobcreator-tool/wiki|Hudson job creator tool]<br />
* [[Terminology|Terminology]]<br />
* [http://carloszuluaga.wikidot.com/hudson|Tutorial completo en español para usar Hudson con varios de sus plugins.|Hudson con Ant, JUnit, Emma y Sonar. (Spanish)]<br />
<br />
== Screencasts ==<br />
<br />
* [Testing centered mediacast showing Hudson installation and basic features|HudsonDemo]<br />
<br />
== Tool Integration ==<br />
*[http://eclipse.org/mylyn/builds/ Eclipse Mylyn Hudson Connector] for monitoring Hudson build jobs within Eclipse.<br />
*[http://wiki.netbeans.org/HudsonInNetBeans NetBeans plugin] <br />
*[http://github.com/hudson-plugins/jobcreator-tool/wiki Jobcreator Tool] <br />
*[http://code.google.com/p/hudson-eclipse/ Eclipse plugin] <br />
*[http://plugins.intellij.net/plugin/?id=3943 IntelliJ plugin] <br />
*[http://labs.jboss.com/portletswap/portlets_collab.html Hudson Portlet] for monitoring Hudson in your portal. <br />
*[[Firefox Add-on Build Monitor|Firefox Add-on Build Monitor]] displays Hudson builds on Firefox status bar panel. <br />
*[https://chrome.google.com/extensions/detail/hfncndbfmjmafoodaigpoicpbdfhhgdo Google Chrome extension] to monitor status from Google Chrome. <br />
*[https://chrome.google.com/extensions/detail/lnalnbkkohdcnaapeeceifjabgmdfgah Hudson Monitor Chrome Extension] shows Hudson build statuses in the Google Chrome / Chromium browser <br />
*[[Ant Job Clone script|Ant Job Clone script]] Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy. <br />
*[[Bash Job Clone script|Bash Job Clone script]] Similar to the [[Ant Job Clone script|Ant Job Clone script]], but based in bash shell using curl to talk to the server. <br />
*[http://hudson-mobi.com HudsonMobi for iPhone, iPod and iPad] Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad <br />
*[http://sites.google.com/site/hudson2go/ Hudson2Go for Android] Monitor Hudson from your Android phone. <br />
*[http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html Hudson Helper iPhone and iPod Touch App] Monitor Hudson from your iPhone or iPod Touch <br />
*[http://greensopinion.blogspot.com/2009/06/hudson-helper-for-android.html Hudson Helper Android App] Monitor Hudson from your Android phone <br />
*[http://code.google.com/p/hudson-tray-tracker/ Hudson tray tracker] monitor Hudson from your Windows task tray icon. <br />
*[http://code.google.com/p/hudson-on-cocoa/ Hudson on Cocoa] monitor Hudson from your Mac OS X status bar <br />
*[[Gnome Panel Status Widget|Gnome Panel Status Widget]] monitor Build status in your gnome panel <br />
*[http://wiki.github.com/Ronnie76er/conkyhudson/ Conky Hudson Status] show your Hudson status on Conky <br />
*[[Monitoring Hudson|Monitoring Hudson]] jobs from tools that support Cruise Control.<br />
*[http://documentup.com/notatestuser/hudson-heckler Hudson Heckler] offers cross-platform libnotify and growl build notifications on the desktop. ([https://github.com/notatestuser/hudson-heckler/downloads download])<br />
<br />
== Programming Language specific topics ==<br />
<br />
*[[Hudson and PHP|Hudson and PHP]]<br />
<br />
== Extreme Feedback ==<br />
<br />
* [[Hudson Build Status Lava Lamps | Hudson Build Status Lava Lamps]]<br />
* [http://weblogs.java.net/blog/kohsuke/archive/2006/11/diyorb_my_own_e.html DIYOrb]<br />
* [http://weblogs.java.net/blog/nidaley/archive/2007/08/my_extreme_feed_1.html Hudson Ambient Orb]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=20250625 "Red Bear Alert\!" - The Hudson Bear Lamps]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=38633731 "Watch the bikes\!" - Extreme Feedback with Traffic Lights|]<br />
* [http://schneide.wordpress.com/2009/09/08/smell-if-its-well/ Start to smell those code smells]<br />
* [http://sourceforge.net/projects/ci-monitor-lib/ Continuous Integration Monitor Library] - A Java Swing based library that allows a user to monitor multiple continuous integration server instances (Such as Hudson and CruiseControl instances) easily and effectively.]<br />
* [[Add a Google-O-Meter to a view|Add a Google-O-Meter to a view]]<br />
<br />
== Issues ==<br />
* [[My software builds on my computer but not on Hudson]]<br />
* [[Spawning processes from build]]<br />
* [[Stopping build does not stop spawned processes - ProcessTreeKiller|ProcessTreeKiller]]<br />
* [[A thread hangs in forkAndExec on Solaris|Solaris Issue 6276483]]<br />
* [[Slave JVM freezes on Windows when started from SSH]]<br />
* [[Maven2 project and JDK5]]<br />
* [[I'm getting OutOfMemoryError]]<br />
* [[I'm getting too many open files error]]<br />
* [[I'm aborting a build but it's not happening. What's going on?|Aborting a build]]<br />
* [[IOException: Not enough space|IOException Not enough space]]<br />
* [[Running Hudson behind Apache]]<br />
* [[Running Hudson behind Squid]]<br />
* [[Trouble-shooting build hangs|Build is hanging]]<br />
* [[Hudson windows service fails to start]]<br />
* [[Windows slaves fail to start via DCOM]]<br />
* [[Windows slaves fail to start via ssh]]<br />
* [[Windows slaves fail to start via JNLP]]<br />
* [[JNA is already loaded]]<br />
* [[Show the names of jobs which do not load properly]]<br />
* [[Hudson reading old build results when starting up]]<br />
<br />
== Mailing Lists ==<br />
<br />
* [http://java.net/projects/hudson/lists Mailing lists]<br />
* [[Mailing list tips|Mailing list tips]]<br />
<br />
== License ==<br />
<br />
Most of the art work is derived from [http://tango.freedesktop.org/ Tango Project], and thus this portion of Hudson is covered by their license ([http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution Share-Alike license]). The rest (that is, all the code, documents, build scripts, etc.) is covered by [http://www.opensource.org/licenses/mit-license.php the MIT license], unless otherwise stated in individual files</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson&diff=367018Hudson-ci/Using Hudson2014-07-11T14:08:55Z<p>Duncan.r.mills.gmail.com: /* Using Hudson */</p>
<hr />
<div>{{hudson|pageTitle=Using Hudson}}<br />
== Using Hudson ==<br />
<br />
* [[Hudson-ci/Installing Hudson|Installing Hudson]]<br />
* [[Hudson-ci/Containers|Hudson on various Servlet Containers]]<br />
* [[Starting and Accessing Hudson|Starting and Accessing Hudson]]<br />
* [[Administering Hudson|Administering Hudson]]<br />
* [[Building a software project|Building a software project]]<br />
* [[Building a maven2 project|Building a maven2 project]]<br />
* [[Building a multi-configuration project|Building a multi-configuration project]]<br />
* [[Monitoring external jobs|Monitoring external jobs]]<br />
* [[Distributed builds|Distributed builds]]<br />
* [[Hudson-ci/Using_Hudson/Parameterized Builds|Parameterized Builds]]<br />
* [[Features controlled by system properties|Features controlled by system properties]]<br />
* [[Fingerprint| Tracking version using Fingerprint]]<br />
* [[http://wiki.hudson-ci.org/display/HUDSON/Plugins Using Hudson Plugins]]<br />
* [[Hudson-ci/Using_Hudson/Pinned_Plugins|Pinned Plugins]]<br />
* [[Quicker navigation around Hudson pages|Search Box]]<br />
* [[Hudson script console]]<br />
* [[Command-line interface|Hudson CLI]]<br />
* [[Hudson-ci/Using_Hudson/Securing_Hudson|Securing Hudson]]<br />
* [[Hudson-ci/Using_Hudson/Statistics_Collection|Hudson Statistics Collection]]<br />
* [[Hudson-ci/Using_Hudson/Dead_Executors|Dead Executors]]<br />
* [[Hudson-ci/Using_Hudson/Executors_Stavation|Executors Starvation]]<br />
* [[Remote access API]]<br />
* [[Change time zone]]<br />
* [[Splitting a big job into smaller jobs]]<br />
* [http://jenkins.361315.n4.nabble.com/how-are-you-using-Hudson-for-non-Java-projects-td386875.html|Using Hudson for non-Java projects]<br />
** [http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html|in particular for .NET]<br />
* [[Using other shells (for ex. Python)|Shells]]<br />
* [[Post-initialization script|Post-initialization script]]<br />
* [[Collecting more logs on what Hudson is doing|Logging]]<br />
* [https://github.com/hudson-plugins/jobcreator-tool/wiki|Hudson job creator tool]<br />
* [[Terminology|Terminology]]<br />
* [http://carloszuluaga.wikidot.com/hudson|Tutorial completo en español para usar Hudson con varios de sus plugins.|Hudson con Ant, JUnit, Emma y Sonar. (Spanish)]<br />
<br />
== Screencasts ==<br />
<br />
* [Testing centered mediacast showing Hudson installation and basic features|HudsonDemo]<br />
<br />
== Tool Integration ==<br />
*[http://eclipse.org/mylyn/builds/ Eclipse Mylyn Hudson Connector] for monitoring Hudson build jobs within Eclipse.<br />
*[http://wiki.netbeans.org/HudsonInNetBeans NetBeans plugin] <br />
*[http://github.com/hudson-plugins/jobcreator-tool/wiki Jobcreator Tool] <br />
*[http://code.google.com/p/hudson-eclipse/ Eclipse plugin] <br />
*[http://plugins.intellij.net/plugin/?id=3943 IntelliJ plugin] <br />
*[http://labs.jboss.com/portletswap/portlets_collab.html Hudson Portlet] for monitoring Hudson in your portal. <br />
*[[Firefox Add-on Build Monitor|Firefox Add-on Build Monitor]] displays Hudson builds on Firefox status bar panel. <br />
*[https://chrome.google.com/extensions/detail/hfncndbfmjmafoodaigpoicpbdfhhgdo Google Chrome extension] to monitor status from Google Chrome. <br />
*[https://chrome.google.com/extensions/detail/lnalnbkkohdcnaapeeceifjabgmdfgah Hudson Monitor Chrome Extension] shows Hudson build statuses in the Google Chrome / Chromium browser <br />
*[[Ant Job Clone script|Ant Job Clone script]] Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy. <br />
*[[Bash Job Clone script|Bash Job Clone script]] Similar to the [[Ant Job Clone script|Ant Job Clone script]], but based in bash shell using curl to talk to the server. <br />
*[http://hudson-mobi.com HudsonMobi for iPhone, iPod and iPad] Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad <br />
*[http://sites.google.com/site/hudson2go/ Hudson2Go for Android] Monitor Hudson from your Android phone. <br />
*[http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html Hudson Helper iPhone and iPod Touch App] Monitor Hudson from your iPhone or iPod Touch <br />
*[http://greensopinion.blogspot.com/2009/06/hudson-helper-for-android.html Hudson Helper Android App] Monitor Hudson from your Android phone <br />
*[http://code.google.com/p/hudson-tray-tracker/ Hudson tray tracker] monitor Hudson from your Windows task tray icon. <br />
*[http://code.google.com/p/hudson-on-cocoa/ Hudson on Cocoa] monitor Hudson from your Mac OS X status bar <br />
*[[Gnome Panel Status Widget|Gnome Panel Status Widget]] monitor Build status in your gnome panel <br />
*[http://wiki.github.com/Ronnie76er/conkyhudson/ Conky Hudson Status] show your Hudson status on Conky <br />
*[[Monitoring Hudson|Monitoring Hudson]] jobs from tools that support Cruise Control.<br />
*[http://documentup.com/notatestuser/hudson-heckler Hudson Heckler] offers cross-platform libnotify and growl build notifications on the desktop. ([https://github.com/notatestuser/hudson-heckler/downloads download])<br />
<br />
== Programming Language specific topics ==<br />
<br />
*[[Hudson and PHP|Hudson and PHP]]<br />
<br />
== Extreme Feedback ==<br />
<br />
* [[Hudson Build Status Lava Lamps | Hudson Build Status Lava Lamps]]<br />
* [http://weblogs.java.net/blog/kohsuke/archive/2006/11/diyorb_my_own_e.html DIYOrb]<br />
* [http://weblogs.java.net/blog/nidaley/archive/2007/08/my_extreme_feed_1.html Hudson Ambient Orb]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=20250625 "Red Bear Alert\!" - The Hudson Bear Lamps]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=38633731 "Watch the bikes\!" - Extreme Feedback with Traffic Lights|]<br />
* [http://schneide.wordpress.com/2009/09/08/smell-if-its-well/ Start to smell those code smells]<br />
* [http://sourceforge.net/projects/ci-monitor-lib/ Continuous Integration Monitor Library] - A Java Swing based library that allows a user to monitor multiple continuous integration server instances (Such as Hudson and CruiseControl instances) easily and effectively.]<br />
* [[Add a Google-O-Meter to a view|Add a Google-O-Meter to a view]]<br />
<br />
== Issues ==<br />
* [[My software builds on my computer but not on Hudson]]<br />
* [[Spawning processes from build]]<br />
* [[Stopping build does not stop spawned processes - ProcessTreeKiller|ProcessTreeKiller]]<br />
* [[A thread hangs in forkAndExec on Solaris|Solaris Issue 6276483]]<br />
* [[Slave JVM freezes on Windows when started from SSH]]<br />
* [[Maven2 project and JDK5]]<br />
* [[I'm getting OutOfMemoryError]]<br />
* [[I'm getting too many open files error]]<br />
* [[I'm aborting a build but it's not happening. What's going on?|Aborting a build]]<br />
* [[IOException: Not enough space|IOException Not enough space]]<br />
* [[Running Hudson behind Apache]]<br />
* [[Running Hudson behind Squid]]<br />
* [[Trouble-shooting build hangs|Build is hanging]]<br />
* [[Hudson windows service fails to start]]<br />
* [[Windows slaves fail to start via DCOM]]<br />
* [[Windows slaves fail to start via ssh]]<br />
* [[Windows slaves fail to start via JNLP]]<br />
* [[JNA is already loaded]]<br />
* [[Show the names of jobs which do not load properly]]<br />
* [[Hudson reading old build results when starting up]]<br />
<br />
== Mailing Lists ==<br />
<br />
* [http://java.net/projects/hudson/lists Mailing lists]<br />
* [[Mailing list tips|Mailing list tips]]<br />
<br />
== License ==<br />
<br />
Most of the art work is derived from [http://tango.freedesktop.org/ Tango Project], and thus this portion of Hudson is covered by their license ([http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution Share-Alike license]). The rest (that is, all the code, documents, build scripts, etc.) is covered by [http://www.opensource.org/licenses/mit-license.php the MIT license], unless otherwise stated in individual files</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Pinned_Plugins&diff=367017Hudson-ci/Using Hudson/Pinned Plugins2014-07-11T14:06:24Z<p>Duncan.r.mills.gmail.com: Created page with "{{hudson|pageTitle=Pinned Plugins}} The notion of '''pinned plugins''' applies to plugins that are bundled with Hudson, such as the Subversion plugin. Normally, when you upgr..."</p>
<hr />
<div>{{hudson|pageTitle=Pinned Plugins}}<br />
The notion of '''pinned plugins''' applies to plugins that are bundled with Hudson, such as the Subversion plugin.<br />
<br />
Normally, when you upgrade/downgrade Hudson, its built-in plugins overwrite whatever versions of the plugins you currently have in $HUDSON_HOME. This ensures that you use the consistent version of those plugins. However, this behavior also means that those plugins can be never manually updated, as every time you start Hudson they'll be replaced by the bundled versions.<br />
<br />
So when you manually update those bundled plugins, Hudson will mark those plugins as pinned to the particular version. Pinned plugins will never be overwritten by the bundled plugins during Hudson boot up. However, by definition, with pinned plugins you lose the benefit of automatic upgrade when you upgrade Hudson.<br />
<br />
The plugin manager in Hudson allows you to explicitly unpin plugins. Every pinned plugin in the Plugin Manager Installed list has an Unpin button. Click it to unpin the file.<br />
<br />
Under the covers: On the file system, Hudson creates an empty file called $HUDSON_HOME/plugins/plugin.hpi.pinned, where 'plugin' is the plugin name, to indicate the pinning. This file can also be manually created/deleted to control the pinning behavior.<br />
<br />
Pinned files are a vestigual feature left over from the days when plugins were built in to Hudson. In Hudson 3.x, all visible plugins are external. Pinning has no effect on updates and can be safely ignored if you encounter it. In a future minor release of Hudson the feature will be removed.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson&diff=367016Hudson-ci/Using Hudson2014-07-11T14:04:54Z<p>Duncan.r.mills.gmail.com: /* Using Hudson */</p>
<hr />
<div>{{hudson|pageTitle=Using Hudson}}<br />
== Using Hudson ==<br />
<br />
* [[Hudson-ci/Installing Hudson|Installing Hudson]]<br />
* [[Hudson-ci/Containers|Hudson on various Servlet Containers]]<br />
* [[Starting and Accessing Hudson|Starting and Accessing Hudson]]<br />
* [[Administering Hudson|Administering Hudson]]<br />
* [[Building a software project|Building a software project]]<br />
* [[Building a maven2 project|Building a maven2 project]]<br />
* [[Building a multi-configuration project|Building a multi-configuration project]]<br />
* [[Monitoring external jobs|Monitoring external jobs]]<br />
* [[Distributed builds|Distributed builds]]<br />
* [[Hudson-ci/Using_Hudson/Parameterized Builds|Parameterized Builds]]<br />
* [[Features controlled by system properties|Features controlled by system properties]]<br />
* [[Fingerprint| Tracking version using Fingerprint]]<br />
* [[http://wiki.hudson-ci.org/display/HUDSON/Plugins Using Hudson Plugins]]<br />
* [[Hudson-ci/Using_Hudson/Pinned_Plugins|Pinned Plugins]]<br />
* [[Quicker navigation around Hudson pages|Search Box]]<br />
* [[Hudson script console]]<br />
* [[Command-line interface|Hudson CLI]]<br />
* [[Hudson-ci/Using_Hudson/Securing_Hudson|Securing Hudson]]<br />
* [[Hudson-ci/Using_Hudson/Statistics_Collection|Hudson Statistics Collection]]<br />
* [[Hudson-ci/Using_Hudson/Dead_Executors|Dead Executors]]<br />
* [[Remote access API]]<br />
* [[Change time zone]]<br />
* [[Splitting a big job into smaller jobs]]<br />
* [http://jenkins.361315.n4.nabble.com/how-are-you-using-Hudson-for-non-Java-projects-td386875.html|Using Hudson for non-Java projects]<br />
** [http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html|in particular for .NET]<br />
* [[Using other shells (for ex. Python)|Shells]]<br />
* [[Post-initialization script|Post-initialization script]]<br />
* [[Collecting more logs on what Hudson is doing|Logging]]<br />
* [https://github.com/hudson-plugins/jobcreator-tool/wiki|Hudson job creator tool]<br />
* [[Terminology|Terminology]]<br />
* [http://carloszuluaga.wikidot.com/hudson|Tutorial completo en español para usar Hudson con varios de sus plugins.|Hudson con Ant, JUnit, Emma y Sonar. (Spanish)]<br />
<br />
== Screencasts ==<br />
<br />
* [Testing centered mediacast showing Hudson installation and basic features|HudsonDemo]<br />
<br />
== Tool Integration ==<br />
*[http://eclipse.org/mylyn/builds/ Eclipse Mylyn Hudson Connector] for monitoring Hudson build jobs within Eclipse.<br />
*[http://wiki.netbeans.org/HudsonInNetBeans NetBeans plugin] <br />
*[http://github.com/hudson-plugins/jobcreator-tool/wiki Jobcreator Tool] <br />
*[http://code.google.com/p/hudson-eclipse/ Eclipse plugin] <br />
*[http://plugins.intellij.net/plugin/?id=3943 IntelliJ plugin] <br />
*[http://labs.jboss.com/portletswap/portlets_collab.html Hudson Portlet] for monitoring Hudson in your portal. <br />
*[[Firefox Add-on Build Monitor|Firefox Add-on Build Monitor]] displays Hudson builds on Firefox status bar panel. <br />
*[https://chrome.google.com/extensions/detail/hfncndbfmjmafoodaigpoicpbdfhhgdo Google Chrome extension] to monitor status from Google Chrome. <br />
*[https://chrome.google.com/extensions/detail/lnalnbkkohdcnaapeeceifjabgmdfgah Hudson Monitor Chrome Extension] shows Hudson build statuses in the Google Chrome / Chromium browser <br />
*[[Ant Job Clone script|Ant Job Clone script]] Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy. <br />
*[[Bash Job Clone script|Bash Job Clone script]] Similar to the [[Ant Job Clone script|Ant Job Clone script]], but based in bash shell using curl to talk to the server. <br />
*[http://hudson-mobi.com HudsonMobi for iPhone, iPod and iPad] Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad <br />
*[http://sites.google.com/site/hudson2go/ Hudson2Go for Android] Monitor Hudson from your Android phone. <br />
*[http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html Hudson Helper iPhone and iPod Touch App] Monitor Hudson from your iPhone or iPod Touch <br />
*[http://greensopinion.blogspot.com/2009/06/hudson-helper-for-android.html Hudson Helper Android App] Monitor Hudson from your Android phone <br />
*[http://code.google.com/p/hudson-tray-tracker/ Hudson tray tracker] monitor Hudson from your Windows task tray icon. <br />
*[http://code.google.com/p/hudson-on-cocoa/ Hudson on Cocoa] monitor Hudson from your Mac OS X status bar <br />
*[[Gnome Panel Status Widget|Gnome Panel Status Widget]] monitor Build status in your gnome panel <br />
*[http://wiki.github.com/Ronnie76er/conkyhudson/ Conky Hudson Status] show your Hudson status on Conky <br />
*[[Monitoring Hudson|Monitoring Hudson]] jobs from tools that support Cruise Control.<br />
*[http://documentup.com/notatestuser/hudson-heckler Hudson Heckler] offers cross-platform libnotify and growl build notifications on the desktop. ([https://github.com/notatestuser/hudson-heckler/downloads download])<br />
<br />
== Programming Language specific topics ==<br />
<br />
*[[Hudson and PHP|Hudson and PHP]]<br />
<br />
== Extreme Feedback ==<br />
<br />
* [[Hudson Build Status Lava Lamps | Hudson Build Status Lava Lamps]]<br />
* [http://weblogs.java.net/blog/kohsuke/archive/2006/11/diyorb_my_own_e.html DIYOrb]<br />
* [http://weblogs.java.net/blog/nidaley/archive/2007/08/my_extreme_feed_1.html Hudson Ambient Orb]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=20250625 "Red Bear Alert\!" - The Hudson Bear Lamps]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=38633731 "Watch the bikes\!" - Extreme Feedback with Traffic Lights|]<br />
* [http://schneide.wordpress.com/2009/09/08/smell-if-its-well/ Start to smell those code smells]<br />
* [http://sourceforge.net/projects/ci-monitor-lib/ Continuous Integration Monitor Library] - A Java Swing based library that allows a user to monitor multiple continuous integration server instances (Such as Hudson and CruiseControl instances) easily and effectively.]<br />
* [[Add a Google-O-Meter to a view|Add a Google-O-Meter to a view]]<br />
<br />
== Issues ==<br />
* [[My software builds on my computer but not on Hudson]]<br />
* [[Spawning processes from build]]<br />
* [[Stopping build does not stop spawned processes - ProcessTreeKiller|ProcessTreeKiller]]<br />
* [[A thread hangs in forkAndExec on Solaris|Solaris Issue 6276483]]<br />
* [[Slave JVM freezes on Windows when started from SSH]]<br />
* [[Maven2 project and JDK5]]<br />
* [[I'm getting OutOfMemoryError]]<br />
* [[I'm getting too many open files error]]<br />
* [[I'm aborting a build but it's not happening. What's going on?|Aborting a build]]<br />
* [[IOException: Not enough space|IOException Not enough space]]<br />
* [[Running Hudson behind Apache]]<br />
* [[Running Hudson behind Squid]]<br />
* [[Trouble-shooting build hangs|Build is hanging]]<br />
* [[Hudson windows service fails to start]]<br />
* [[Windows slaves fail to start via DCOM]]<br />
* [[Windows slaves fail to start via ssh]]<br />
* [[Windows slaves fail to start via JNLP]]<br />
* [[JNA is already loaded]]<br />
* [[Show the names of jobs which do not load properly]]<br />
* [[Hudson reading old build results when starting up]]<br />
<br />
== Mailing Lists ==<br />
<br />
* [http://java.net/projects/hudson/lists Mailing lists]<br />
* [[Mailing list tips|Mailing list tips]]<br />
<br />
== License ==<br />
<br />
Most of the art work is derived from [http://tango.freedesktop.org/ Tango Project], and thus this portion of Hudson is covered by their license ([http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution Share-Alike license]). The rest (that is, all the code, documents, build scripts, etc.) is covered by [http://www.opensource.org/licenses/mit-license.php the MIT license], unless otherwise stated in individual files</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Dead_Executors&diff=367015Hudson-ci/Using Hudson/Dead Executors2014-07-11T13:50:14Z<p>Duncan.r.mills.gmail.com: Created page with "{{hudson|pageTitle=Dead Executors}} Hudson dedicates a java.lang.Thread for each executor. Under normal operation, this thread is alive all the time (although unless a build i..."</p>
<hr />
<div>{{hudson|pageTitle=Dead Executors}}<br />
Hudson dedicates a java.lang.Thread for each executor. Under normal operation, this thread is alive all the time (although unless a build is going on the thread is sleeping.) The "dead executor" sign (see the picture on the right) happens when this thread dies unexpectedly. When this happens, please check your Hudson system log (http://server/hudson/log) and look for a stack trace, then report that to Hudson users list or the issue tracker.<br />
[[File:Hudson-dead-executor.png]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=File:Hudson-dead-executor.png&diff=367014File:Hudson-dead-executor.png2014-07-11T13:49:39Z<p>Duncan.r.mills.gmail.com: Illustration for Hudson executor topic</p>
<hr />
<div>Illustration for Hudson executor topic</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson&diff=367013Hudson-ci/Using Hudson2014-07-11T13:47:44Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Using Hudson}}<br />
== Using Hudson ==<br />
<br />
* [[Hudson-ci/Installing Hudson|Installing Hudson]]<br />
* [[Hudson-ci/Containers|Hudson on various Servlet Containers]]<br />
* [[Starting and Accessing Hudson|Starting and Accessing Hudson]]<br />
* [[Administering Hudson|Administering Hudson]]<br />
* [[Building a software project|Building a software project]]<br />
* [[Building a maven2 project|Building a maven2 project]]<br />
* [[Building a multi-configuration project|Building a multi-configuration project]]<br />
* [[Monitoring external jobs|Monitoring external jobs]]<br />
* [[Distributed builds|Distributed builds]]<br />
* [[Hudson-ci/Using_Hudson/Parameterized Builds|Parameterized Builds]]<br />
* [[Features controlled by system properties|Features controlled by system properties]]<br />
* [[Fingerprint| Tracking version using Fingerprint]]<br />
* [[http://wiki.hudson-ci.org/display/HUDSON/Plugins Using Hudson Plugins]]<br />
* [[Quicker navigation around Hudson pages|Search Box]]<br />
* [[Hudson script console]]<br />
* [[Command-line interface|Hudson CLI]]<br />
* [[Hudson-ci/Using_Hudson/Securing_Hudson|Securing Hudson]]<br />
* [[Hudson-ci/Using_Hudson/Statistics_Collection|Hudson Statistics Collection]]<br />
* [[Hudson-ci/Using_Hudson/Dead_Executors|Dead Executors]]<br />
* [[Remote access API]]<br />
* [[Change time zone]]<br />
* [[Splitting a big job into smaller jobs]]<br />
* [http://jenkins.361315.n4.nabble.com/how-are-you-using-Hudson-for-non-Java-projects-td386875.html|Using Hudson for non-Java projects]<br />
** [http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html|in particular for .NET]<br />
* [[Using other shells (for ex. Python)|Shells]]<br />
* [[Post-initialization script|Post-initialization script]]<br />
* [[Collecting more logs on what Hudson is doing|Logging]]<br />
* [https://github.com/hudson-plugins/jobcreator-tool/wiki|Hudson job creator tool]<br />
* [[Terminology|Terminology]]<br />
* [http://carloszuluaga.wikidot.com/hudson|Tutorial completo en español para usar Hudson con varios de sus plugins.|Hudson con Ant, JUnit, Emma y Sonar. (Spanish)]<br />
<br />
== Screencasts ==<br />
<br />
* [Testing centered mediacast showing Hudson installation and basic features|HudsonDemo]<br />
<br />
== Tool Integration ==<br />
*[http://eclipse.org/mylyn/builds/ Eclipse Mylyn Hudson Connector] for monitoring Hudson build jobs within Eclipse.<br />
*[http://wiki.netbeans.org/HudsonInNetBeans NetBeans plugin] <br />
*[http://github.com/hudson-plugins/jobcreator-tool/wiki Jobcreator Tool] <br />
*[http://code.google.com/p/hudson-eclipse/ Eclipse plugin] <br />
*[http://plugins.intellij.net/plugin/?id=3943 IntelliJ plugin] <br />
*[http://labs.jboss.com/portletswap/portlets_collab.html Hudson Portlet] for monitoring Hudson in your portal. <br />
*[[Firefox Add-on Build Monitor|Firefox Add-on Build Monitor]] displays Hudson builds on Firefox status bar panel. <br />
*[https://chrome.google.com/extensions/detail/hfncndbfmjmafoodaigpoicpbdfhhgdo Google Chrome extension] to monitor status from Google Chrome. <br />
*[https://chrome.google.com/extensions/detail/lnalnbkkohdcnaapeeceifjabgmdfgah Hudson Monitor Chrome Extension] shows Hudson build statuses in the Google Chrome / Chromium browser <br />
*[[Ant Job Clone script|Ant Job Clone script]] Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy. <br />
*[[Bash Job Clone script|Bash Job Clone script]] Similar to the [[Ant Job Clone script|Ant Job Clone script]], but based in bash shell using curl to talk to the server. <br />
*[http://hudson-mobi.com HudsonMobi for iPhone, iPod and iPad] Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad <br />
*[http://sites.google.com/site/hudson2go/ Hudson2Go for Android] Monitor Hudson from your Android phone. <br />
*[http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html Hudson Helper iPhone and iPod Touch App] Monitor Hudson from your iPhone or iPod Touch <br />
*[http://greensopinion.blogspot.com/2009/06/hudson-helper-for-android.html Hudson Helper Android App] Monitor Hudson from your Android phone <br />
*[http://code.google.com/p/hudson-tray-tracker/ Hudson tray tracker] monitor Hudson from your Windows task tray icon. <br />
*[http://code.google.com/p/hudson-on-cocoa/ Hudson on Cocoa] monitor Hudson from your Mac OS X status bar <br />
*[[Gnome Panel Status Widget|Gnome Panel Status Widget]] monitor Build status in your gnome panel <br />
*[http://wiki.github.com/Ronnie76er/conkyhudson/ Conky Hudson Status] show your Hudson status on Conky <br />
*[[Monitoring Hudson|Monitoring Hudson]] jobs from tools that support Cruise Control.<br />
*[http://documentup.com/notatestuser/hudson-heckler Hudson Heckler] offers cross-platform libnotify and growl build notifications on the desktop. ([https://github.com/notatestuser/hudson-heckler/downloads download])<br />
<br />
== Programming Language specific topics ==<br />
<br />
*[[Hudson and PHP|Hudson and PHP]]<br />
<br />
== Extreme Feedback ==<br />
<br />
* [[Hudson Build Status Lava Lamps | Hudson Build Status Lava Lamps]]<br />
* [http://weblogs.java.net/blog/kohsuke/archive/2006/11/diyorb_my_own_e.html DIYOrb]<br />
* [http://weblogs.java.net/blog/nidaley/archive/2007/08/my_extreme_feed_1.html Hudson Ambient Orb]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=20250625 "Red Bear Alert\!" - The Hudson Bear Lamps]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=38633731 "Watch the bikes\!" - Extreme Feedback with Traffic Lights|]<br />
* [http://schneide.wordpress.com/2009/09/08/smell-if-its-well/ Start to smell those code smells]<br />
* [http://sourceforge.net/projects/ci-monitor-lib/ Continuous Integration Monitor Library] - A Java Swing based library that allows a user to monitor multiple continuous integration server instances (Such as Hudson and CruiseControl instances) easily and effectively.]<br />
* [[Add a Google-O-Meter to a view|Add a Google-O-Meter to a view]]<br />
<br />
== Issues ==<br />
* [[My software builds on my computer but not on Hudson]]<br />
* [[Spawning processes from build]]<br />
* [[Stopping build does not stop spawned processes - ProcessTreeKiller|ProcessTreeKiller]]<br />
* [[A thread hangs in forkAndExec on Solaris|Solaris Issue 6276483]]<br />
* [[Slave JVM freezes on Windows when started from SSH]]<br />
* [[Maven2 project and JDK5]]<br />
* [[I'm getting OutOfMemoryError]]<br />
* [[I'm getting too many open files error]]<br />
* [[I'm aborting a build but it's not happening. What's going on?|Aborting a build]]<br />
* [[IOException: Not enough space|IOException Not enough space]]<br />
* [[Running Hudson behind Apache]]<br />
* [[Running Hudson behind Squid]]<br />
* [[Trouble-shooting build hangs|Build is hanging]]<br />
* [[Hudson windows service fails to start]]<br />
* [[Windows slaves fail to start via DCOM]]<br />
* [[Windows slaves fail to start via ssh]]<br />
* [[Windows slaves fail to start via JNLP]]<br />
* [[JNA is already loaded]]<br />
* [[Show the names of jobs which do not load properly]]<br />
* [[Hudson reading old build results when starting up]]<br />
<br />
== Mailing Lists ==<br />
<br />
* [http://java.net/projects/hudson/lists Mailing lists]<br />
* [[Mailing list tips|Mailing list tips]]<br />
<br />
== License ==<br />
<br />
Most of the art work is derived from [http://tango.freedesktop.org/ Tango Project], and thus this portion of Hudson is covered by their license ([http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution Share-Alike license]). The rest (that is, all the code, documents, build scripts, etc.) is covered by [http://www.opensource.org/licenses/mit-license.php the MIT license], unless otherwise stated in individual files</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson&diff=367012Hudson-ci/Using Hudson2014-07-11T13:46:51Z<p>Duncan.r.mills.gmail.com: /* Issues */</p>
<hr />
<div>{{hudson|pageTitle=Using Hudson}}<br />
== Using Hudson ==<br />
<br />
* [[Hudson-ci/Installing Hudson|Installing Hudson]]<br />
* [[Hudson-ci/Containers|Hudson on various Servlet Containers]]<br />
* [[Starting and Accessing Hudson|Starting and Accessing Hudson]]<br />
* [[Administering Hudson|Administering Hudson]]<br />
* [[Building a software project|Building a software project]]<br />
* [[Building a maven2 project|Building a maven2 project]]<br />
* [[Building a multi-configuration project|Building a multi-configuration project]]<br />
* [[Monitoring external jobs|Monitoring external jobs]]<br />
* [[Distributed builds|Distributed builds]]<br />
* [[Hudson-ci/Using_Hudson/Parameterized Builds|Parameterized Builds]]<br />
* [[Features controlled by system properties|Features controlled by system properties]]<br />
* [[Fingerprint| Tracking version using Fingerprint]]<br />
* [[http://wiki.hudson-ci.org/display/HUDSON/Plugins Using Hudson Plugins]]<br />
* [[Quicker navigation around Hudson pages|Search Box]]<br />
* [[Hudson script console]]<br />
* [[Command-line interface|Hudson CLI]]<br />
* [[Hudson-ci/Using_Hudson/Securing_Hudson|Securing Hudson]]<br />
* [[Hudson-ci/Using_Hudson/Statistics_Collection|Hudson Statistics Collection]]<br />
* [[Remote access API]]<br />
* [[Change time zone]]<br />
* [[Splitting a big job into smaller jobs]]<br />
* [http://jenkins.361315.n4.nabble.com/how-are-you-using-Hudson-for-non-Java-projects-td386875.html|Using Hudson for non-Java projects]<br />
** [http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html|in particular for .NET]<br />
* [[Using other shells (for ex. Python)|Shells]]<br />
* [[Post-initialization script|Post-initialization script]]<br />
* [[Collecting more logs on what Hudson is doing|Logging]]<br />
* [https://github.com/hudson-plugins/jobcreator-tool/wiki|Hudson job creator tool]<br />
* [[Terminology|Terminology]]<br />
* [http://carloszuluaga.wikidot.com/hudson|Tutorial completo en español para usar Hudson con varios de sus plugins.|Hudson con Ant, JUnit, Emma y Sonar. (Spanish)]<br />
<br />
== Screencasts ==<br />
<br />
* [Testing centered mediacast showing Hudson installation and basic features|HudsonDemo]<br />
<br />
== Tool Integration ==<br />
*[http://eclipse.org/mylyn/builds/ Eclipse Mylyn Hudson Connector] for monitoring Hudson build jobs within Eclipse.<br />
*[http://wiki.netbeans.org/HudsonInNetBeans NetBeans plugin] <br />
*[http://github.com/hudson-plugins/jobcreator-tool/wiki Jobcreator Tool] <br />
*[http://code.google.com/p/hudson-eclipse/ Eclipse plugin] <br />
*[http://plugins.intellij.net/plugin/?id=3943 IntelliJ plugin] <br />
*[http://labs.jboss.com/portletswap/portlets_collab.html Hudson Portlet] for monitoring Hudson in your portal. <br />
*[[Firefox Add-on Build Monitor|Firefox Add-on Build Monitor]] displays Hudson builds on Firefox status bar panel. <br />
*[https://chrome.google.com/extensions/detail/hfncndbfmjmafoodaigpoicpbdfhhgdo Google Chrome extension] to monitor status from Google Chrome. <br />
*[https://chrome.google.com/extensions/detail/lnalnbkkohdcnaapeeceifjabgmdfgah Hudson Monitor Chrome Extension] shows Hudson build statuses in the Google Chrome / Chromium browser <br />
*[[Ant Job Clone script|Ant Job Clone script]] Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy. <br />
*[[Bash Job Clone script|Bash Job Clone script]] Similar to the [[Ant Job Clone script|Ant Job Clone script]], but based in bash shell using curl to talk to the server. <br />
*[http://hudson-mobi.com HudsonMobi for iPhone, iPod and iPad] Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad <br />
*[http://sites.google.com/site/hudson2go/ Hudson2Go for Android] Monitor Hudson from your Android phone. <br />
*[http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html Hudson Helper iPhone and iPod Touch App] Monitor Hudson from your iPhone or iPod Touch <br />
*[http://greensopinion.blogspot.com/2009/06/hudson-helper-for-android.html Hudson Helper Android App] Monitor Hudson from your Android phone <br />
*[http://code.google.com/p/hudson-tray-tracker/ Hudson tray tracker] monitor Hudson from your Windows task tray icon. <br />
*[http://code.google.com/p/hudson-on-cocoa/ Hudson on Cocoa] monitor Hudson from your Mac OS X status bar <br />
*[[Gnome Panel Status Widget|Gnome Panel Status Widget]] monitor Build status in your gnome panel <br />
*[http://wiki.github.com/Ronnie76er/conkyhudson/ Conky Hudson Status] show your Hudson status on Conky <br />
*[[Monitoring Hudson|Monitoring Hudson]] jobs from tools that support Cruise Control.<br />
*[http://documentup.com/notatestuser/hudson-heckler Hudson Heckler] offers cross-platform libnotify and growl build notifications on the desktop. ([https://github.com/notatestuser/hudson-heckler/downloads download])<br />
<br />
== Programming Language specific topics ==<br />
<br />
*[[Hudson and PHP|Hudson and PHP]]<br />
<br />
== Extreme Feedback ==<br />
<br />
* [[Hudson Build Status Lava Lamps | Hudson Build Status Lava Lamps]]<br />
* [http://weblogs.java.net/blog/kohsuke/archive/2006/11/diyorb_my_own_e.html DIYOrb]<br />
* [http://weblogs.java.net/blog/nidaley/archive/2007/08/my_extreme_feed_1.html Hudson Ambient Orb]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=20250625 "Red Bear Alert\!" - The Hudson Bear Lamps]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=38633731 "Watch the bikes\!" - Extreme Feedback with Traffic Lights|]<br />
* [http://schneide.wordpress.com/2009/09/08/smell-if-its-well/ Start to smell those code smells]<br />
* [http://sourceforge.net/projects/ci-monitor-lib/ Continuous Integration Monitor Library] - A Java Swing based library that allows a user to monitor multiple continuous integration server instances (Such as Hudson and CruiseControl instances) easily and effectively.]<br />
* [[Add a Google-O-Meter to a view|Add a Google-O-Meter to a view]]<br />
<br />
== Issues ==<br />
* [[Hudson-ci/Using_Hudson/Dead_Executors|Dead Executors]]<br />
* [[My software builds on my computer but not on Hudson]]<br />
* [[Spawning processes from build]]<br />
* [[Stopping build does not stop spawned processes - ProcessTreeKiller|ProcessTreeKiller]]<br />
* [[A thread hangs in forkAndExec on Solaris|Solaris Issue 6276483]]<br />
* [[Slave JVM freezes on Windows when started from SSH]]<br />
* [[Maven2 project and JDK5]]<br />
* [[I'm getting OutOfMemoryError]]<br />
* [[I'm getting too many open files error]]<br />
* [[I'm aborting a build but it's not happening. What's going on?|Aborting a build]]<br />
* [[IOException: Not enough space|IOException Not enough space]]<br />
* [[Running Hudson behind Apache]]<br />
* [[Running Hudson behind Squid]]<br />
* [[Trouble-shooting build hangs|Build is hanging]]<br />
* [[Hudson windows service fails to start]]<br />
* [[Windows slaves fail to start via DCOM]]<br />
* [[Windows slaves fail to start via ssh]]<br />
* [[Windows slaves fail to start via JNLP]]<br />
* [[JNA is already loaded]]<br />
* [[Show the names of jobs which do not load properly]]<br />
* [[Hudson reading old build results when starting up]]<br />
<br />
== Mailing Lists ==<br />
<br />
* [http://java.net/projects/hudson/lists Mailing lists]<br />
* [[Mailing list tips|Mailing list tips]]<br />
<br />
== License ==<br />
<br />
Most of the art work is derived from [http://tango.freedesktop.org/ Tango Project], and thus this portion of Hudson is covered by their license ([http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution Share-Alike license]). The rest (that is, all the code, documents, build scripts, etc.) is covered by [http://www.opensource.org/licenses/mit-license.php the MIT license], unless otherwise stated in individual files</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367010Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:30:37Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature in the Hudson configuration allows you to prevent the collection of data.<br />
<br />
The data that is collected is:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
<div style="margin:10px;background-color:#e0e0ff;border:1px solid blue;padding:20px;"><br />
24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"<br />
</div></div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367008Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:28:44Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature at Hudson configuration allows to collect some more data. The positive side of collecting more information is that we can then use it to spend our limited resources intelligently.<br />
<br />
The data that are collecting are:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
<div style="margin:10px;background-color:#e0e0ff;border:1px solid blue;padding:20px;"><br />
24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"<br />
</div></div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367007Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:28:12Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature at Hudson configuration allows to collect some more data. The positive side of collecting more information is that we can then use it to spend our limited resources intelligently.<br />
<br />
The data that are collecting are:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
<div style="margin:10px;background-color:#e0e0ff;border:1px solid blue;padding:20px;"><br />
{{Code|24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"}}<br />
</div></div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367006Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:27:25Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature at Hudson configuration allows to collect some more data. The positive side of collecting more information is that we can then use it to spend our limited resources intelligently.<br />
<br />
The data that are collecting are:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
<div style="margin:10px;background-color:#e0e0ff;border:1px solid blue;padding:20px;"><br />
{{24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"<br />
}}<br />
</div></div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367005Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:26:29Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature at Hudson configuration allows to collect some more data. The positive side of collecting more information is that we can then use it to spend our limited resources intelligently.<br />
<br />
The data that are collecting are:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
<div style="margin:10px;background-color:#e0e0ff;border:1px solid blue;padding:20px;"><br />
{{{24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"<br />
}}}<br />
</div></div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367003Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:23:32Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature at Hudson configuration allows to collect some more data. The positive side of collecting more information is that we can then use it to spend our limited resources intelligently.<br />
<br />
The data that are collecting are:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
{{code|24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"<br />
}}</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367002Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:22:35Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature at Hudson configuration allows to collect some more data. The positive side of collecting more information is that we can then use it to spend our limited resources intelligently.<br />
<br />
The data that are collecting are:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
{{codeblock|24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"<br />
}}</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367001Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:21:47Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature at Hudson configuration allows to collect some more data. The positive side of collecting more information is that we can then use it to spend our limited resources intelligently.<br />
<br />
The data that are collecting are:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
{{codeblock|<br />
24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"<br />
}}</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Statistics_Collection&diff=367000Hudson-ci/Using Hudson/Statistics Collection2014-07-11T12:20:02Z<p>Duncan.r.mills.gmail.com: Created page with "{{hudson|pageTitle=Hudson Statistics Collection}} Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this resu..."</p>
<hr />
<div>{{hudson|pageTitle=Hudson Statistics Collection}}<br />
Hudson installations obtain metadata for the update center periodically. This happens over HTTPS, so on the server this results in some statistics information about how many Hudson installations are out there. This HTTPS request contains the version number of Hudson that's making the call. The request also reveals several other information, like the IP of the caller, etc., which is inherent in any HTTP request. <br />
<br />
The opt-out feature at Hudson configuration allows to collect some more data. The positive side of collecting more information is that we can then use it to spend our limited resources intelligently.<br />
<br />
The data that are collecting are:<br />
<br />
* Number of total slaves/executors in the system<br />
* Number of jobs<br />
* JVM version<br />
* OS<br />
* Plugins that are installed<br />
<br />
The data send to the http://hudson-ci.org is encrypted and gziped. Here is a sample of the data sent to the server:<br />
{{{<br />
24.20.154.67 - - [28/Mar/2011:19:57:20 -0800]<br />
"GET /usage-stats.js?<br />
<br />
Egj1fU+7HrLhyIpDJxA1zI4df3VLeAulXoCbO5tOM1f/964JN/nWlh2YCt5Ogfrp4B3vMt/<br />
eWlGssV9G6Vb6zeh8HuTFY7JQZWVJKwrFYYiVBXlhMPAtHFJ6XBlG0Y/LaE0LekETLTn0OZyE<br />
/5QvUtWoPi3sHxKDauS4QTPh6vCcO83IzoqfQ3IwnW1Leq5p3dYUdDIGSfV6Cw8YV9fz6JkQd<br />
JhDskZhcPQ9ImZW9B+bQUrAKWJXEd0Jl/BEXNGSs4gZBV2vDGA7kIrnZf3x0qsZTk81zccO4Y<br />
7nMv+zLMSbxSaZhjmmXBAPlZ9gCR6xAH50RV0CybOtH0uAPVtioHXB0xAGeFW1JEmj9df00wS<br />
kwKXxKg0qb6u7roUeY6n8tkxTudzErHCkhI2MBPhNeBnDsumWlOkL25r2d6y4MGMe1U2AgxqJ<br />
2xasTXNrLf3VTJkiSmiTLUNPqW68ZaEYWwdyV3dPR6N7AwR0ar0RoaCDxcffGAFu4QqmRGd5E<br />
lADCxt0XcgQDMT9iqySAQQ83V40d9eH63gu+0frdUZJMuXchcQ3ZRsP8rdhp6Mb849YO8BVkf<br />
/niuBBkDHN7vUkPlrWpDE14N5RHE1WqkQtdwA5dmm5dGNv6c4QfPYdOG+mlFJg/F0o+rbKSIj<br />
Ldx/GhzHA+Wk++qyRIfrOWormP51IHZuIQKAPyLOKhw52Tezis0Pd+E2Tp206RdDrAhtwXXbn<br />
ZME8qKAJCjDmFbWMJ2vhoFEWvPw/yZAwnBrjOD1g<br />
<br />
HTTP/1.1" 200 49<br />
"http://173.255.244.41:8080/"<br />
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.16<br />
(KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"<br />
}}}</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson&diff=366999Hudson-ci/Using Hudson2014-07-11T12:15:55Z<p>Duncan.r.mills.gmail.com: /* Using Hudson */</p>
<hr />
<div>{{hudson|pageTitle=Using Hudson}}<br />
== Using Hudson ==<br />
<br />
* [[Hudson-ci/Installing Hudson|Installing Hudson]]<br />
* [[Hudson-ci/Containers|Hudson on various Servlet Containers]]<br />
* [[Starting and Accessing Hudson|Starting and Accessing Hudson]]<br />
* [[Administering Hudson|Administering Hudson]]<br />
* [[Building a software project|Building a software project]]<br />
* [[Building a maven2 project|Building a maven2 project]]<br />
* [[Building a multi-configuration project|Building a multi-configuration project]]<br />
* [[Monitoring external jobs|Monitoring external jobs]]<br />
* [[Distributed builds|Distributed builds]]<br />
* [[Hudson-ci/Using_Hudson/Parameterized Builds|Parameterized Builds]]<br />
* [[Features controlled by system properties|Features controlled by system properties]]<br />
* [[Fingerprint| Tracking version using Fingerprint]]<br />
* [[http://wiki.hudson-ci.org/display/HUDSON/Plugins Using Hudson Plugins]]<br />
* [[Quicker navigation around Hudson pages|Search Box]]<br />
* [[Hudson script console]]<br />
* [[Command-line interface|Hudson CLI]]<br />
* [[Hudson-ci/Using_Hudson/Securing_Hudson|Securing Hudson]]<br />
* [[Hudson-ci/Using_Hudson/Statistics_Collection|Hudson Statistics Collection]]<br />
* [[Remote access API]]<br />
* [[Change time zone]]<br />
* [[Splitting a big job into smaller jobs]]<br />
* [http://jenkins.361315.n4.nabble.com/how-are-you-using-Hudson-for-non-Java-projects-td386875.html|Using Hudson for non-Java projects]<br />
** [http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html|in particular for .NET]<br />
* [[Using other shells (for ex. Python)|Shells]]<br />
* [[Post-initialization script|Post-initialization script]]<br />
* [[Collecting more logs on what Hudson is doing|Logging]]<br />
* [https://github.com/hudson-plugins/jobcreator-tool/wiki|Hudson job creator tool]<br />
* [[Terminology|Terminology]]<br />
* [http://carloszuluaga.wikidot.com/hudson|Tutorial completo en español para usar Hudson con varios de sus plugins.|Hudson con Ant, JUnit, Emma y Sonar. (Spanish)]<br />
<br />
== Screencasts ==<br />
<br />
* [Testing centered mediacast showing Hudson installation and basic features|HudsonDemo]<br />
<br />
== Tool Integration ==<br />
*[http://eclipse.org/mylyn/builds/ Eclipse Mylyn Hudson Connector] for monitoring Hudson build jobs within Eclipse.<br />
*[http://wiki.netbeans.org/HudsonInNetBeans NetBeans plugin] <br />
*[http://github.com/hudson-plugins/jobcreator-tool/wiki Jobcreator Tool] <br />
*[http://code.google.com/p/hudson-eclipse/ Eclipse plugin] <br />
*[http://plugins.intellij.net/plugin/?id=3943 IntelliJ plugin] <br />
*[http://labs.jboss.com/portletswap/portlets_collab.html Hudson Portlet] for monitoring Hudson in your portal. <br />
*[[Firefox Add-on Build Monitor|Firefox Add-on Build Monitor]] displays Hudson builds on Firefox status bar panel. <br />
*[https://chrome.google.com/extensions/detail/hfncndbfmjmafoodaigpoicpbdfhhgdo Google Chrome extension] to monitor status from Google Chrome. <br />
*[https://chrome.google.com/extensions/detail/lnalnbkkohdcnaapeeceifjabgmdfgah Hudson Monitor Chrome Extension] shows Hudson build statuses in the Google Chrome / Chromium browser <br />
*[[Ant Job Clone script|Ant Job Clone script]] Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy. <br />
*[[Bash Job Clone script|Bash Job Clone script]] Similar to the [[Ant Job Clone script|Ant Job Clone script]], but based in bash shell using curl to talk to the server. <br />
*[http://hudson-mobi.com HudsonMobi for iPhone, iPod and iPad] Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad <br />
*[http://sites.google.com/site/hudson2go/ Hudson2Go for Android] Monitor Hudson from your Android phone. <br />
*[http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html Hudson Helper iPhone and iPod Touch App] Monitor Hudson from your iPhone or iPod Touch <br />
*[http://greensopinion.blogspot.com/2009/06/hudson-helper-for-android.html Hudson Helper Android App] Monitor Hudson from your Android phone <br />
*[http://code.google.com/p/hudson-tray-tracker/ Hudson tray tracker] monitor Hudson from your Windows task tray icon. <br />
*[http://code.google.com/p/hudson-on-cocoa/ Hudson on Cocoa] monitor Hudson from your Mac OS X status bar <br />
*[[Gnome Panel Status Widget|Gnome Panel Status Widget]] monitor Build status in your gnome panel <br />
*[http://wiki.github.com/Ronnie76er/conkyhudson/ Conky Hudson Status] show your Hudson status on Conky <br />
*[[Monitoring Hudson|Monitoring Hudson]] jobs from tools that support Cruise Control.<br />
*[http://documentup.com/notatestuser/hudson-heckler Hudson Heckler] offers cross-platform libnotify and growl build notifications on the desktop. ([https://github.com/notatestuser/hudson-heckler/downloads download])<br />
<br />
== Programming Language specific topics ==<br />
<br />
*[[Hudson and PHP|Hudson and PHP]]<br />
<br />
== Extreme Feedback ==<br />
<br />
* [[Hudson Build Status Lava Lamps | Hudson Build Status Lava Lamps]]<br />
* [http://weblogs.java.net/blog/kohsuke/archive/2006/11/diyorb_my_own_e.html DIYOrb]<br />
* [http://weblogs.java.net/blog/nidaley/archive/2007/08/my_extreme_feed_1.html Hudson Ambient Orb]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=20250625 "Red Bear Alert\!" - The Hudson Bear Lamps]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=38633731 "Watch the bikes\!" - Extreme Feedback with Traffic Lights|]<br />
* [http://schneide.wordpress.com/2009/09/08/smell-if-its-well/ Start to smell those code smells]<br />
* [http://sourceforge.net/projects/ci-monitor-lib/ Continuous Integration Monitor Library] - A Java Swing based library that allows a user to monitor multiple continuous integration server instances (Such as Hudson and CruiseControl instances) easily and effectively.]<br />
* [[Add a Google-O-Meter to a view|Add a Google-O-Meter to a view]]<br />
<br />
== Issues ==<br />
<br />
* [[My software builds on my computer but not on Hudson]]<br />
* [[Spawning processes from build]]<br />
* [[Stopping build does not stop spawned processes - ProcessTreeKiller|ProcessTreeKiller]]<br />
* [[A thread hangs in forkAndExec on Solaris|Solaris Issue 6276483]]<br />
* [[Slave JVM freezes on Windows when started from SSH]]<br />
* [[Maven2 project and JDK5]]<br />
* [[I'm getting OutOfMemoryError]]<br />
* [[I'm getting too many open files error]]<br />
* [[I'm aborting a build but it's not happening. What's going on?|Aborting a build]]<br />
* [[IOException: Not enough space|IOException Not enough space]]<br />
* [[Running Hudson behind Apache]]<br />
* [[Running Hudson behind Squid]]<br />
* [[Trouble-shooting build hangs|Build is hanging]]<br />
* [[Hudson windows service fails to start]]<br />
* [[Windows slaves fail to start via DCOM]]<br />
* [[Windows slaves fail to start via ssh]]<br />
* [[Windows slaves fail to start via JNLP]]<br />
* [[JNA is already loaded]]<br />
* [[Show the names of jobs which do not load properly]]<br />
* [[Hudson reading old build results when starting up]]<br />
<br />
== Mailing Lists ==<br />
<br />
* [http://java.net/projects/hudson/lists Mailing lists]<br />
* [[Mailing list tips|Mailing list tips]]<br />
<br />
== License ==<br />
<br />
Most of the art work is derived from [http://tango.freedesktop.org/ Tango Project], and thus this portion of Hudson is covered by their license ([http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution Share-Alike license]). The rest (that is, all the code, documents, build scripts, etc.) is covered by [http://www.opensource.org/licenses/mit-license.php the MIT license], unless otherwise stated in individual files</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson&diff=366998Hudson-ci/Using Hudson2014-07-11T12:07:48Z<p>Duncan.r.mills.gmail.com: /* Using Hudson */</p>
<hr />
<div>{{hudson|pageTitle=Using Hudson}}<br />
== Using Hudson ==<br />
<br />
* [[Hudson-ci/Installing Hudson|Installing Hudson]]<br />
* [[Hudson-ci/Containers|Hudson on various Servlet Containers]]<br />
* [[Starting and Accessing Hudson|Starting and Accessing Hudson]]<br />
* [[Administering Hudson|Administering Hudson]]<br />
* [[Building a software project|Building a software project]]<br />
* [[Building a maven2 project|Building a maven2 project]]<br />
* [[Building a multi-configuration project|Building a multi-configuration project]]<br />
* [[Monitoring external jobs|Monitoring external jobs]]<br />
* [[Distributed builds|Distributed builds]]<br />
* [[Hudson-ci/Using_Hudson/Parameterized Builds|Parameterized Builds]]<br />
* [[Features controlled by system properties|Features controlled by system properties]]<br />
* [[Fingerprint| Tracking version using Fingerprint]]<br />
* [[http://wiki.hudson-ci.org/display/HUDSON/Plugins Using Hudson Plugins]]<br />
* [[Quicker navigation around Hudson pages|Search Box]]<br />
* [[Hudson script console]]<br />
* [[Command-line interface|Hudson CLI]]<br />
* [[Hudson-ci/Using_Hudson/Securing_Hudson|Securing Hudson]]<br />
* [[Remote access API]]<br />
* [[Change time zone]]<br />
* [[Splitting a big job into smaller jobs]]<br />
* [http://jenkins.361315.n4.nabble.com/how-are-you-using-Hudson-for-non-Java-projects-td386875.html|Using Hudson for non-Java projects]<br />
** [http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html|in particular for .NET]<br />
* [[Using other shells (for ex. Python)|Shells]]<br />
* [[Post-initialization script|Post-initialization script]]<br />
* [[Collecting more logs on what Hudson is doing|Logging]]<br />
* [https://github.com/hudson-plugins/jobcreator-tool/wiki|Hudson job creator tool]<br />
* [[Terminology|Terminology]]<br />
* [http://carloszuluaga.wikidot.com/hudson|Tutorial completo en español para usar Hudson con varios de sus plugins.|Hudson con Ant, JUnit, Emma y Sonar. (Spanish)]<br />
<br />
== Screencasts ==<br />
<br />
* [Testing centered mediacast showing Hudson installation and basic features|HudsonDemo]<br />
<br />
== Tool Integration ==<br />
*[http://eclipse.org/mylyn/builds/ Eclipse Mylyn Hudson Connector] for monitoring Hudson build jobs within Eclipse.<br />
*[http://wiki.netbeans.org/HudsonInNetBeans NetBeans plugin] <br />
*[http://github.com/hudson-plugins/jobcreator-tool/wiki Jobcreator Tool] <br />
*[http://code.google.com/p/hudson-eclipse/ Eclipse plugin] <br />
*[http://plugins.intellij.net/plugin/?id=3943 IntelliJ plugin] <br />
*[http://labs.jboss.com/portletswap/portlets_collab.html Hudson Portlet] for monitoring Hudson in your portal. <br />
*[[Firefox Add-on Build Monitor|Firefox Add-on Build Monitor]] displays Hudson builds on Firefox status bar panel. <br />
*[https://chrome.google.com/extensions/detail/hfncndbfmjmafoodaigpoicpbdfhhgdo Google Chrome extension] to monitor status from Google Chrome. <br />
*[https://chrome.google.com/extensions/detail/lnalnbkkohdcnaapeeceifjabgmdfgah Hudson Monitor Chrome Extension] shows Hudson build statuses in the Google Chrome / Chromium browser <br />
*[[Ant Job Clone script|Ant Job Clone script]] Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy. <br />
*[[Bash Job Clone script|Bash Job Clone script]] Similar to the [[Ant Job Clone script|Ant Job Clone script]], but based in bash shell using curl to talk to the server. <br />
*[http://hudson-mobi.com HudsonMobi for iPhone, iPod and iPad] Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad <br />
*[http://sites.google.com/site/hudson2go/ Hudson2Go for Android] Monitor Hudson from your Android phone. <br />
*[http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html Hudson Helper iPhone and iPod Touch App] Monitor Hudson from your iPhone or iPod Touch <br />
*[http://greensopinion.blogspot.com/2009/06/hudson-helper-for-android.html Hudson Helper Android App] Monitor Hudson from your Android phone <br />
*[http://code.google.com/p/hudson-tray-tracker/ Hudson tray tracker] monitor Hudson from your Windows task tray icon. <br />
*[http://code.google.com/p/hudson-on-cocoa/ Hudson on Cocoa] monitor Hudson from your Mac OS X status bar <br />
*[[Gnome Panel Status Widget|Gnome Panel Status Widget]] monitor Build status in your gnome panel <br />
*[http://wiki.github.com/Ronnie76er/conkyhudson/ Conky Hudson Status] show your Hudson status on Conky <br />
*[[Monitoring Hudson|Monitoring Hudson]] jobs from tools that support Cruise Control.<br />
*[http://documentup.com/notatestuser/hudson-heckler Hudson Heckler] offers cross-platform libnotify and growl build notifications on the desktop. ([https://github.com/notatestuser/hudson-heckler/downloads download])<br />
<br />
== Programming Language specific topics ==<br />
<br />
*[[Hudson and PHP|Hudson and PHP]]<br />
<br />
== Extreme Feedback ==<br />
<br />
* [[Hudson Build Status Lava Lamps | Hudson Build Status Lava Lamps]]<br />
* [http://weblogs.java.net/blog/kohsuke/archive/2006/11/diyorb_my_own_e.html DIYOrb]<br />
* [http://weblogs.java.net/blog/nidaley/archive/2007/08/my_extreme_feed_1.html Hudson Ambient Orb]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=20250625 "Red Bear Alert\!" - The Hudson Bear Lamps]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=38633731 "Watch the bikes\!" - Extreme Feedback with Traffic Lights|]<br />
* [http://schneide.wordpress.com/2009/09/08/smell-if-its-well/ Start to smell those code smells]<br />
* [http://sourceforge.net/projects/ci-monitor-lib/ Continuous Integration Monitor Library] - A Java Swing based library that allows a user to monitor multiple continuous integration server instances (Such as Hudson and CruiseControl instances) easily and effectively.]<br />
* [[Add a Google-O-Meter to a view|Add a Google-O-Meter to a view]]<br />
<br />
== Issues ==<br />
<br />
* [[My software builds on my computer but not on Hudson]]<br />
* [[Spawning processes from build]]<br />
* [[Stopping build does not stop spawned processes - ProcessTreeKiller|ProcessTreeKiller]]<br />
* [[A thread hangs in forkAndExec on Solaris|Solaris Issue 6276483]]<br />
* [[Slave JVM freezes on Windows when started from SSH]]<br />
* [[Maven2 project and JDK5]]<br />
* [[I'm getting OutOfMemoryError]]<br />
* [[I'm getting too many open files error]]<br />
* [[I'm aborting a build but it's not happening. What's going on?|Aborting a build]]<br />
* [[IOException: Not enough space|IOException Not enough space]]<br />
* [[Running Hudson behind Apache]]<br />
* [[Running Hudson behind Squid]]<br />
* [[Trouble-shooting build hangs|Build is hanging]]<br />
* [[Hudson windows service fails to start]]<br />
* [[Windows slaves fail to start via DCOM]]<br />
* [[Windows slaves fail to start via ssh]]<br />
* [[Windows slaves fail to start via JNLP]]<br />
* [[JNA is already loaded]]<br />
* [[Show the names of jobs which do not load properly]]<br />
* [[Hudson reading old build results when starting up]]<br />
<br />
== Mailing Lists ==<br />
<br />
* [http://java.net/projects/hudson/lists Mailing lists]<br />
* [[Mailing list tips|Mailing list tips]]<br />
<br />
== License ==<br />
<br />
Most of the art work is derived from [http://tango.freedesktop.org/ Tango Project], and thus this portion of Hudson is covered by their license ([http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution Share-Alike license]). The rest (that is, all the code, documents, build scripts, etc.) is covered by [http://www.opensource.org/licenses/mit-license.php the MIT license], unless otherwise stated in individual files</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson&diff=366997Hudson-ci/Using Hudson2014-07-11T12:07:14Z<p>Duncan.r.mills.gmail.com: /* Using Hudson */</p>
<hr />
<div>{{hudson|pageTitle=Using Hudson}}<br />
== Using Hudson ==<br />
<br />
* [[Hudson-ci/Installing Hudson|Installing Hudson]]<br />
* [[Hudson-ci/Containers|Hudson on various Servlet Containers]]<br />
* [[Starting and Accessing Hudson|Starting and Accessing Hudson]]<br />
* [[Administering Hudson|Administering Hudson]]<br />
* [[Building a software project|Building a software project]]<br />
* [[Building a maven2 project|Building a maven2 project]]<br />
* [[Building a multi-configuration project|Building a multi-configuration project]]<br />
* [[Monitoring external jobs|Monitoring external jobs]]<br />
* [[Distributed builds|Distributed builds]]<br />
* [[Hudson-ci/Using_Hudson/Parameterized Builds|Parameterized Builds]]<br />
* [[Features controlled by system properties|Features controlled by system properties]]<br />
* [[Fingerprint| Tracking version using Fingerprint]]<br />
* [[http://wiki.hudson-ci.org/display/HUDSON/Plugins Using Hudson Plugins]]<br />
* [[Quicker navigation around Hudson pages|Search Box]]<br />
* [[Hudson script console]]<br />
* [[Command-line interface|Hudson CLI]]<br />
* [[Hudson-ci/Using_Hudson/Securing_Hudson|Securing Hudson]<br />
* [[Remote access API]]<br />
* [[Change time zone]]<br />
* [[Splitting a big job into smaller jobs]]<br />
* [http://jenkins.361315.n4.nabble.com/how-are-you-using-Hudson-for-non-Java-projects-td386875.html|Using Hudson for non-Java projects]<br />
** [http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html|in particular for .NET]<br />
* [[Using other shells (for ex. Python)|Shells]]<br />
* [[Post-initialization script|Post-initialization script]]<br />
* [[Collecting more logs on what Hudson is doing|Logging]]<br />
* [https://github.com/hudson-plugins/jobcreator-tool/wiki|Hudson job creator tool]<br />
* [[Terminology|Terminology]]<br />
* [http://carloszuluaga.wikidot.com/hudson|Tutorial completo en español para usar Hudson con varios de sus plugins.|Hudson con Ant, JUnit, Emma y Sonar. (Spanish)]<br />
<br />
== Screencasts ==<br />
<br />
* [Testing centered mediacast showing Hudson installation and basic features|HudsonDemo]<br />
<br />
== Tool Integration ==<br />
*[http://eclipse.org/mylyn/builds/ Eclipse Mylyn Hudson Connector] for monitoring Hudson build jobs within Eclipse.<br />
*[http://wiki.netbeans.org/HudsonInNetBeans NetBeans plugin] <br />
*[http://github.com/hudson-plugins/jobcreator-tool/wiki Jobcreator Tool] <br />
*[http://code.google.com/p/hudson-eclipse/ Eclipse plugin] <br />
*[http://plugins.intellij.net/plugin/?id=3943 IntelliJ plugin] <br />
*[http://labs.jboss.com/portletswap/portlets_collab.html Hudson Portlet] for monitoring Hudson in your portal. <br />
*[[Firefox Add-on Build Monitor|Firefox Add-on Build Monitor]] displays Hudson builds on Firefox status bar panel. <br />
*[https://chrome.google.com/extensions/detail/hfncndbfmjmafoodaigpoicpbdfhhgdo Google Chrome extension] to monitor status from Google Chrome. <br />
*[https://chrome.google.com/extensions/detail/lnalnbkkohdcnaapeeceifjabgmdfgah Hudson Monitor Chrome Extension] shows Hudson build statuses in the Google Chrome / Chromium browser <br />
*[[Ant Job Clone script|Ant Job Clone script]] Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy. <br />
*[[Bash Job Clone script|Bash Job Clone script]] Similar to the [[Ant Job Clone script|Ant Job Clone script]], but based in bash shell using curl to talk to the server. <br />
*[http://hudson-mobi.com HudsonMobi for iPhone, iPod and iPad] Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad <br />
*[http://sites.google.com/site/hudson2go/ Hudson2Go for Android] Monitor Hudson from your Android phone. <br />
*[http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html Hudson Helper iPhone and iPod Touch App] Monitor Hudson from your iPhone or iPod Touch <br />
*[http://greensopinion.blogspot.com/2009/06/hudson-helper-for-android.html Hudson Helper Android App] Monitor Hudson from your Android phone <br />
*[http://code.google.com/p/hudson-tray-tracker/ Hudson tray tracker] monitor Hudson from your Windows task tray icon. <br />
*[http://code.google.com/p/hudson-on-cocoa/ Hudson on Cocoa] monitor Hudson from your Mac OS X status bar <br />
*[[Gnome Panel Status Widget|Gnome Panel Status Widget]] monitor Build status in your gnome panel <br />
*[http://wiki.github.com/Ronnie76er/conkyhudson/ Conky Hudson Status] show your Hudson status on Conky <br />
*[[Monitoring Hudson|Monitoring Hudson]] jobs from tools that support Cruise Control.<br />
*[http://documentup.com/notatestuser/hudson-heckler Hudson Heckler] offers cross-platform libnotify and growl build notifications on the desktop. ([https://github.com/notatestuser/hudson-heckler/downloads download])<br />
<br />
== Programming Language specific topics ==<br />
<br />
*[[Hudson and PHP|Hudson and PHP]]<br />
<br />
== Extreme Feedback ==<br />
<br />
* [[Hudson Build Status Lava Lamps | Hudson Build Status Lava Lamps]]<br />
* [http://weblogs.java.net/blog/kohsuke/archive/2006/11/diyorb_my_own_e.html DIYOrb]<br />
* [http://weblogs.java.net/blog/nidaley/archive/2007/08/my_extreme_feed_1.html Hudson Ambient Orb]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=20250625 "Red Bear Alert\!" - The Hudson Bear Lamps]<br />
* [http://wiki.hudson-ci.org/pages/viewpage.action?pageId=38633731 "Watch the bikes\!" - Extreme Feedback with Traffic Lights|]<br />
* [http://schneide.wordpress.com/2009/09/08/smell-if-its-well/ Start to smell those code smells]<br />
* [http://sourceforge.net/projects/ci-monitor-lib/ Continuous Integration Monitor Library] - A Java Swing based library that allows a user to monitor multiple continuous integration server instances (Such as Hudson and CruiseControl instances) easily and effectively.]<br />
* [[Add a Google-O-Meter to a view|Add a Google-O-Meter to a view]]<br />
<br />
== Issues ==<br />
<br />
* [[My software builds on my computer but not on Hudson]]<br />
* [[Spawning processes from build]]<br />
* [[Stopping build does not stop spawned processes - ProcessTreeKiller|ProcessTreeKiller]]<br />
* [[A thread hangs in forkAndExec on Solaris|Solaris Issue 6276483]]<br />
* [[Slave JVM freezes on Windows when started from SSH]]<br />
* [[Maven2 project and JDK5]]<br />
* [[I'm getting OutOfMemoryError]]<br />
* [[I'm getting too many open files error]]<br />
* [[I'm aborting a build but it's not happening. What's going on?|Aborting a build]]<br />
* [[IOException: Not enough space|IOException Not enough space]]<br />
* [[Running Hudson behind Apache]]<br />
* [[Running Hudson behind Squid]]<br />
* [[Trouble-shooting build hangs|Build is hanging]]<br />
* [[Hudson windows service fails to start]]<br />
* [[Windows slaves fail to start via DCOM]]<br />
* [[Windows slaves fail to start via ssh]]<br />
* [[Windows slaves fail to start via JNLP]]<br />
* [[JNA is already loaded]]<br />
* [[Show the names of jobs which do not load properly]]<br />
* [[Hudson reading old build results when starting up]]<br />
<br />
== Mailing Lists ==<br />
<br />
* [http://java.net/projects/hudson/lists Mailing lists]<br />
* [[Mailing list tips|Mailing list tips]]<br />
<br />
== License ==<br />
<br />
Most of the art work is derived from [http://tango.freedesktop.org/ Tango Project], and thus this portion of Hudson is covered by their license ([http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution Share-Alike license]). The rest (that is, all the code, documents, build scripts, etc.) is covered by [http://www.opensource.org/licenses/mit-license.php the MIT license], unless otherwise stated in individual files</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Securing_Hudson&diff=366996Hudson-ci/Using Hudson/Securing Hudson2014-07-11T12:06:13Z<p>Duncan.r.mills.gmail.com: </p>
<hr />
<div>{{hudson|pageTitle=Securing Hudson}}<br />
In the default configuration, Hudson does not perform any security check. This means any person accessing the website can configure Hudson and jobs, and perform builds. While this configuration is normally acceptable for intranet use, Hudson can be also configured to authenticate users and enforce access control so that it can be exposed to the untrusted environment, such as the internet.<br />
<br />
This setting is controlled mainly by two axes:<br />
<br />
# '''Security Realm''', which determines users and their passwords, as well as what groups the users belong to.<br />
# '''Authorization Strategy''', which determines who has access to what.<br />
<br />
These two axes are orthogonal, and need to be individually configured. For example, you might choose to use external LDAP or Active Directory as the security realm, and you might choose "everyone full access once logged in" mode for authorization strategy. Or you might choose to let Hudson run its own user database, and perform access control based on the permission/user matrix.<br />
<br />
== Topics ==<br />
<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Quick+and+Simple+Security Quick and Simple Security ]— if you are running Hudson like "java -jar hudson.war" and only need a very simple set up<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Standard+Security+Setup Standard Security Setup] — discusses the most common set up of letting Hudson run its own user database and do finer-grained access control<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Apache+frontend+for+security Apache frontend for security] — run Hudson behind Apache and perform access control in Apache instead of Hudson<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Authenticating+scripted+clients Authenticating scripted clients] — if you need to programatically access security-enabled Hudson web UI, use BASIC auth<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Disable+security Help! I locked myself out!] — if something goes really wrong and you can't get full access anymore<br />
<br />
== Security Implications ==<br />
<br />
Note that even when security is enabled, builds that are performed in Hudson still retain the full access to the entire system, because they run as different processes. This implies any committor to any of the projects built in Hudson has full access to the system. They can change the build script to look at any files in the system that Hudson has access to, and modify them.<br />
<br />
Also, if you are using the master/slave mode, slaves that are connected to Hudson also gains the full access to the entire Hudson build cluster, since a slave can send code to the master to be executed.<br />
<br />
On the other hand, Hudson does not escape any input strings. You can use any HTML tags and also someone can embed harmful scripts. Appropriate security settings must be required.<br></div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Securing_Hudson&diff=366994Hudson-ci/Using Hudson/Securing Hudson2014-07-11T12:05:00Z<p>Duncan.r.mills.gmail.com: Duncan.r.mills.gmail.com moved page Using Hudson/Securing Hudson to Hudson-ci/Using Hudson/Securing Hudson: Move to Hudson namespace in wiki</p>
<hr />
<div>In the default configuration, Hudson does not perform any security check. This means any person accessing the website can configure Hudson and jobs, and perform builds. While this configuration is normally acceptable for intranet use, Hudson can be also configured to authenticate users and enforce access control so that it can be exposed to the untrusted environment, such as the internet.<br />
<br />
This setting is controlled mainly by two axes:<br />
<br />
# '''Security Realm''', which determines users and their passwords, as well as what groups the users belong to.<br />
# '''Authorization Strategy''', which determines who has access to what.<br />
<br />
These two axes are orthogonal, and need to be individually configured. For example, you might choose to use external LDAP or Active Directory as the security realm, and you might choose "everyone full access once logged in" mode for authorization strategy. Or you might choose to let Hudson run its own user database, and perform access control based on the permission/user matrix.<br />
<br />
== Topics ==<br />
<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Quick+and+Simple+Security Quick and Simple Security ]— if you are running Hudson like "java -jar hudson.war" and only need a very simple set up<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Standard+Security+Setup Standard Security Setup] — discusses the most common set up of letting Hudson run its own user database and do finer-grained access control<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Apache+frontend+for+security Apache frontend for security] — run Hudson behind Apache and perform access control in Apache instead of Hudson<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Authenticating+scripted+clients Authenticating scripted clients] — if you need to programatically access security-enabled Hudson web UI, use BASIC auth<br />
* [http://wiki.hudson-ci.org/display/HUDSON/Disable+security Help! I locked myself out!] — if something goes really wrong and you can't get full access anymore<br />
<br />
== Security Implications ==<br />
<br />
Note that even when security is enabled, builds that are performed in Hudson still retain the full access to the entire system, because they run as different processes. This implies any committor to any of the projects built in Hudson has full access to the system. They can change the build script to look at any files in the system that Hudson has access to, and modify them.<br />
<br />
Also, if you are using the master/slave mode, slaves that are connected to Hudson also gains the full access to the entire Hudson build cluster, since a slave can send code to the master to be executed.<br />
<br />
On the other hand, Hudson does not escape any input strings. You can use any HTML tags and also someone can embed harmful scripts. Appropriate security settings must be required.<br></div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Using_Hudson/Securing_Hudson&diff=366995Using Hudson/Securing Hudson2014-07-11T12:05:00Z<p>Duncan.r.mills.gmail.com: Duncan.r.mills.gmail.com moved page Using Hudson/Securing Hudson to Hudson-ci/Using Hudson/Securing Hudson: Move to Hudson namespace in wiki</p>
<hr />
<div>#REDIRECT [[Hudson-ci/Using Hudson/Securing Hudson]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Parameterized_Builds&diff=366993Hudson-ci/Using Hudson/Parameterized Builds2014-07-11T11:59:07Z<p>Duncan.r.mills.gmail.com: /* Defining Parameters */</p>
<hr />
<div>{{hudson|pageTitle=Parameterized Builds using Hudson}}<br />
Sometimes, it is useful/necessary to have your builds take several "parameters." Consider the following use case:<br />
* You set up a test job on Hudson, and it accepts a distribution bundle as a parameter and perform tests against it. You want to have developers do local builds and let them submit builds for test execution on Hudson. In such a case, your parameter is a zip file that contains a distribution.<br />
* Your test suite takes so much time to run that in normal execution you can't afford to run the entire test cycle. So you want to control the portion of the test to be executed. In such a case, your parameter is perhaps a string token that indicates that test suite to be run.<br />
<br />
The parameter are available as environment parameters. So e.g. a shell (_$FOO_, _%FOO%_) or Ant ( $\{env.FOO} ) can access these values.<br />
<br />
= Defining Parameters =<br />
<br />
First, you need to define parameters for your job by selecting "This build is parameterized", then using the drop-down button to add as many parameters as you need.<br />
[[File:Hudson_param-step-1.png]]<br />
<br />
There are different parameter types available, and it is extensible, too. The way parameters take effect is also different depending on the parameter type you choose.<br />
<br />
== String parameter ==<br />
<br />
String parameters are exposed as environment variables of the same name. Therefore, a builder, like Ant and Shell, can use the parameters. Continuing the above example, the following is a simple example:<br />
# Reference parameter by name in builder. I'm using the "env" command to show the variable, followed by an echo statement to demonstrate referencing the value:<br />
[[File:Hudson_param-step-2.png]]<br />
# Run build and observe output toward the bottom of the log (some vars removed for security and brevity):<br />
>nowiki>started<br />
[workspace] $ /bin/sh -xe /opt/apache-tomcat-6.0.14/temp/hudson20854.sh<br />
+ env<br />
BAR=bat<br />
...<br />
[workspace] $ /bin/sh -xe /opt/apache-tomcat-6.0.14/temp/hudson20855.sh<br />
+ echo the value of bar is bat<br />
the value of bar is bat<br />
finished: SUCCESS<br />
</nowiki><br />
<br />
Ant works equally well. In the Properties section of the Ant builder, define a build property like:<br />
'''my.prop=${env.BAR}'''<br />
Note that because of the case sensitivity difference of environment variables in Windows and Unix, all the environment variables added by parameters are in upper case.<br />
<br />
== File parameter ==<br />
<br />
File parameter allows a build to accept a file, to be submitted by the user when scheduling a new build. The file will be placed inside the workspace at the known location after the check-out/update is done, so that your build scripts can use this file.<br />
<br />
= Define Custom Parameter Types =<br />
<br />
A plugin can define custom parameter types. See ''ParameterDefinition'' for the starting point.<br />
<br />
= Launching a build with parameters =<br />
<br />
Note that Parameters are Case Sensitive! When passing parameters through the URL, casing is important\! For example _token=TOKEN&MESSAGE=yo_ will not work if the job defines the parameter as _Message_.<br />
<br />
* A build can be started just by accessing<br />
<br />
<nowiki>http://server/job/myjob/buildWithParameters?PARAMETER=Value</nowiki><br />
* All parameters need to be properly URL-escaped. To use with wget, quote the URL on the command line too.<br />
* The parameter _delay=0sec_ can be added to start the build immediately.<br />
* To use a Run Parameter, the value should be in the format _jobname#buildNumber_ (eg. "&MyRunParam=foo-job#123")<br />
* If you are using an authorization token to trigger the builds (Job \-> Configure \-> 'Build Triggers' \-> 'Trigger builds remotely (e.g., from scripts)'), you can access:<br />
<nowiki>http://server/job/myjob/buildWithParameters?token=TOKEN\&PARAMETER=Value</nowiki><br />
Note the ampersand.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=File:Hudson_param-step-2.png&diff=366992File:Hudson param-step-2.png2014-07-11T11:57:51Z<p>Duncan.r.mills.gmail.com: Image for paremeterized build article</p>
<hr />
<div>Image for paremeterized build article</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=File:Hudson_param-step-1.png&diff=366991File:Hudson param-step-1.png2014-07-11T11:56:52Z<p>Duncan.r.mills.gmail.com: Image for Hudson article on parameterized builds</p>
<hr />
<div>Image for Hudson article on parameterized builds</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Parameterized_Builds&diff=366988Hudson-ci/Using Hudson/Parameterized Builds2014-07-11T11:54:04Z<p>Duncan.r.mills.gmail.com: Duncan.r.mills.gmail.com moved page Parameterized Builds to Hudson-ci/Using Hudson/Parameterized Builds: Move to under the Hudson namespace</p>
<hr />
<div>{{hudson|pageTitle=Parameterized Builds using Hudson}}<br />
Sometimes, it is useful/necessary to have your builds take several "parameters." Consider the following use case:<br />
* You set up a test job on Hudson, and it accepts a distribution bundle as a parameter and perform tests against it. You want to have developers do local builds and let them submit builds for test execution on Hudson. In such a case, your parameter is a zip file that contains a distribution.<br />
* Your test suite takes so much time to run that in normal execution you can't afford to run the entire test cycle. So you want to control the portion of the test to be executed. In such a case, your parameter is perhaps a string token that indicates that test suite to be run.<br />
<br />
The parameter are available as environment parameters. So e.g. a shell (_$FOO_, _%FOO%_) or Ant ( $\{env.FOO} ) can access these values.<br />
<br />
= Defining Parameters =<br />
<br />
First, you need to define parameters for your job by selecting "This build is parameterized", then using the drop-down button to add as many parameters as you need.<br />
!param-step-1.png!<br />
<br />
There are different parameter types available, and it is extensible, too. The way parameters take effect is also different depending on the parameter type you choose.<br />
<br />
== String parameter ==<br />
<br />
String parameters are exposed as environment variables of the same name. Therefore, a builder, like Ant and Shell, can use the parameters. Continuing the above example, the following is a simple example:<br />
# Reference parameter by name in builder. I'm using the "env" command to show the variable, followed by an echo statement to demonstrate referencing the value:<br />
!param-step-2.png!<br />
# Run build and observe output toward the bottom of the log (some vars removed for security and brevity):<br />
>nowiki>started<br />
[workspace] $ /bin/sh -xe /opt/apache-tomcat-6.0.14/temp/hudson20854.sh<br />
+ env<br />
BAR=bat<br />
...<br />
[workspace] $ /bin/sh -xe /opt/apache-tomcat-6.0.14/temp/hudson20855.sh<br />
+ echo the value of bar is bat<br />
the value of bar is bat<br />
finished: SUCCESS<br />
</nowiki><br />
<br />
Ant works equally well. In the Properties section of the Ant builder, define a build property like:<br />
'''my.prop=${env.BAR}'''<br />
Note that because of the case sensitivity difference of environment variables in Windows and Unix, all the environment variables added by parameters are in upper case.<br />
<br />
== File parameter ==<br />
<br />
File parameter allows a build to accept a file, to be submitted by the user when scheduling a new build. The file will be placed inside the workspace at the known location after the check-out/update is done, so that your build scripts can use this file.<br />
<br />
= Define Custom Parameter Types =<br />
<br />
A plugin can define custom parameter types. See ''ParameterDefinition'' for the starting point.<br />
<br />
= Launching a build with parameters =<br />
<br />
Note that Parameters are Case Sensitive! When passing parameters through the URL, casing is important\! For example _token=TOKEN&MESSAGE=yo_ will not work if the job defines the parameter as _Message_.<br />
<br />
* A build can be started just by accessing<br />
<br />
<nowiki>http://server/job/myjob/buildWithParameters?PARAMETER=Value</nowiki><br />
* All parameters need to be properly URL-escaped. To use with wget, quote the URL on the command line too.<br />
* The parameter _delay=0sec_ can be added to start the build immediately.<br />
* To use a Run Parameter, the value should be in the format _jobname#buildNumber_ (eg. "&MyRunParam=foo-job#123")<br />
* If you are using an authorization token to trigger the builds (Job \-> Configure \-> 'Build Triggers' \-> 'Trigger builds remotely (e.g., from scripts)'), you can access:<br />
<nowiki>http://server/job/myjob/buildWithParameters?token=TOKEN\&PARAMETER=Value</nowiki><br />
Note the ampersand.</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Parameterized_Builds&diff=366989Parameterized Builds2014-07-11T11:54:04Z<p>Duncan.r.mills.gmail.com: Duncan.r.mills.gmail.com moved page Parameterized Builds to Hudson-ci/Using Hudson/Parameterized Builds: Move to under the Hudson namespace</p>
<hr />
<div>#REDIRECT [[Hudson-ci/Using Hudson/Parameterized Builds]]</div>Duncan.r.mills.gmail.comhttps://wiki.eclipse.org/index.php?title=Hudson-ci/Using_Hudson/Parameterized_Builds&diff=366987Hudson-ci/Using Hudson/Parameterized Builds2014-07-11T11:52:16Z<p>Duncan.r.mills.gmail.com: Created page with "{{hudson|pageTitle=Parameterized Builds using Hudson}} Sometimes, it is useful/necessary to have your builds take several "parameters." Consider the following use case: * You ..."</p>
<hr />
<div>{{hudson|pageTitle=Parameterized Builds using Hudson}}<br />
Sometimes, it is useful/necessary to have your builds take several "parameters." Consider the following use case:<br />
* You set up a test job on Hudson, and it accepts a distribution bundle as a parameter and perform tests against it. You want to have developers do local builds and let them submit builds for test execution on Hudson. In such a case, your parameter is a zip file that contains a distribution.<br />
* Your test suite takes so much time to run that in normal execution you can't afford to run the entire test cycle. So you want to control the portion of the test to be executed. In such a case, your parameter is perhaps a string token that indicates that test suite to be run.<br />
<br />
The parameter are available as environment parameters. So e.g. a shell (_$FOO_, _%FOO%_) or Ant ( $\{env.FOO} ) can access these values.<br />
<br />
= Defining Parameters =<br />
<br />
First, you need to define parameters for your job by selecting "This build is parameterized", then using the drop-down button to add as many parameters as you need.<br />
!param-step-1.png!<br />
<br />
There are different parameter types available, and it is extensible, too. The way parameters take effect is also different depending on the parameter type you choose.<br />
<br />
== String parameter ==<br />
<br />
String parameters are exposed as environment variables of the same name. Therefore, a builder, like Ant and Shell, can use the parameters. Continuing the above example, the following is a simple example:<br />
# Reference parameter by name in builder. I'm using the "env" command to show the variable, followed by an echo statement to demonstrate referencing the value:<br />
!param-step-2.png!<br />
# Run build and observe output toward the bottom of the log (some vars removed for security and brevity):<br />
>nowiki>started<br />
[workspace] $ /bin/sh -xe /opt/apache-tomcat-6.0.14/temp/hudson20854.sh<br />
+ env<br />
BAR=bat<br />
...<br />
[workspace] $ /bin/sh -xe /opt/apache-tomcat-6.0.14/temp/hudson20855.sh<br />
+ echo the value of bar is bat<br />
the value of bar is bat<br />
finished: SUCCESS<br />
</nowiki><br />
<br />
Ant works equally well. In the Properties section of the Ant builder, define a build property like:<br />
'''my.prop=${env.BAR}'''<br />
Note that because of the case sensitivity difference of environment variables in Windows and Unix, all the environment variables added by parameters are in upper case.<br />
<br />
== File parameter ==<br />
<br />
File parameter allows a build to accept a file, to be submitted by the user when scheduling a new build. The file will be placed inside the workspace at the known location after the check-out/update is done, so that your build scripts can use this file.<br />
<br />
= Define Custom Parameter Types =<br />
<br />
A plugin can define custom parameter types. See ''ParameterDefinition'' for the starting point.<br />
<br />
= Launching a build with parameters =<br />
<br />
Note that Parameters are Case Sensitive! When passing parameters through the URL, casing is important\! For example _token=TOKEN&MESSAGE=yo_ will not work if the job defines the parameter as _Message_.<br />
<br />
* A build can be started just by accessing<br />
<br />
<nowiki>http://server/job/myjob/buildWithParameters?PARAMETER=Value</nowiki><br />
* All parameters need to be properly URL-escaped. To use with wget, quote the URL on the command line too.<br />
* The parameter _delay=0sec_ can be added to start the build immediately.<br />
* To use a Run Parameter, the value should be in the format _jobname#buildNumber_ (eg. "&MyRunParam=foo-job#123")<br />
* If you are using an authorization token to trigger the builds (Job \-> Configure \-> 'Build Triggers' \-> 'Trigger builds remotely (e.g., from scripts)'), you can access:<br />
<nowiki>http://server/job/myjob/buildWithParameters?token=TOKEN\&PARAMETER=Value</nowiki><br />
Note the ampersand.</div>Duncan.r.mills.gmail.com