Re: CI usability - isn't there a problem that tests are executed only after a developer pushed his changed to the repsitory?
Thanks for your ideas. I think an on-demand script would fit my organization, but I'll take into account the way that GIT script works. On Monday, August 5, 2013 4:20:05 AM UTC+3, Mark Waite wrote: -- *From:* Avihay Eyal aviha...@gmail.com javascript: *To:* jenkins...@googlegroups.com javascript: *Cc:* dirk.he...@recommind.com javascript: *Sent:* Sunday, August 4, 2013 12:37 PM *Subject:* Re: CI usability - isn't there a problem that tests are executed only after a developer pushed his changed to the repsitory? I'm using Mercurial, which is a distrusted source control. So you're suggesting using a script, activated via commits to the developer local repository? Once the developer committed changes to it's repository, the script will build that changes with the latest code, run all the regression tests, unit test, etc...If the test pass fine, then the developer can choose if he wants to push his changes to the main repository? I don't think that is how the Git plugin does what it does. I believe the Git plugin monitors multiple repositories and branch names for changes. If a change is detected in one or more repositories, the plugin merges those changes into its local branch, and attempts to run the job steps you specify (compile, test, deploy, whatever). The Git plugin has an optional step at the end, Git Publisher which will push the results of that merge to the remote specified in the plugin. I think that allows a workflow where the only user allowed to push to the authoritative repository is the Jenkins user. Other users push to their own repositories which are monitored by the Jenkins job. If their submissions are successful, then the results of merging their proposed change are pushed by Jenkins to the authoritative repository as the Jenkins user. I've been experimenting with a variant of that workflow and it has worked OK for me. My variant has been that by convention I never push to certain branches. Those branches only receives commits from Jenkins, and only after Jenkins has run some series of checks successfully. It has worked well enough, though I suspect it won't work in a larger organization, since it is a convention for users not to push to the integration branch, not an enforced rule. I think you could do the same with Mercurial and a script, though I'm not a Mercurial user, so I can't be certain. Mark Waite -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: CI usability - isn't there a problem that tests are executed only after a developer pushed his changed to the repsitory?
I don't think that is how the Git plugin does what it does. I believe the Git plugin monitors multiple repositories and branch names for changes. If a change is detected in one or more repositories, the plugin merges those changes into its local branch, and attempts to run the job steps you specify (compile, test, deploy, whatever). The Git plugin has an optional step at the end, Git Publisher which will push the results of that merge to the remote specified in the plugin. We did this (which is why the git plugin supported it). We had git pulling from all developer local repositories, and speculatively compiling them running tests. It would then be able to say 'hey, your commit x - it doesn't actually compile'. This was used *as well as* gerrit, just to give each developer extra information about the state of their branches. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: custom multi-line warnings parser
Am 23.07.2013 um 12:02 schrieb Roland Schulz rol...@rschulz.eu: Hi, I would like to define a custom multi-line warnings parser. Searching for the question I have found that screenshots show a Multi-line support checkbox. Both with versions 4.27 and 418 I don't see that option. I tried a multi-line regex (?s)CMake Warning at (.*):(\d+) \((.*)\):\s*(.*?)--. In the preview it works correctly but for the job it doesn't find the warning. It works correctly with the single line regex CMake (.*?) at (.*?):(\d+) \((.*?)\):(.*). Should I see the checkbox? Is multi-line regex still supported? Should this regex work. I removed the checkbox in order to cleanup the user interface. If you use a newline (\n) in your regexp then multi-line parsing is enabled. Also I have non-unique relative filenames. I found issue JENKINS-10596 which is marked as resolved. It seems only resolved specific for gcc+make. Is it possible to solve this for a custom parser? When you write your parser in Java, then you can use that approach. Ulli Roland -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. signature.asc Description: Message signed with OpenPGP using GPGMail
Re: CI usability - isn't there a problem that tests are executed only after a developer pushed his changed to the repsitory?
Alternatively, if you have a requirement for code passing test/compiling, etc before checkin and you can't or don't want to use private repositories/branches, you can look at developing a variation of your build process that uses the filesystem SCM plugin. Run the build/tests against the files in the filesystem, and if they pass then they are permitted for checkin you can even run a post-build script if the build is successful to perform the check-in for you. Of course this method can require a lot of slave nodes defined to support all your developers so that it can find their local filesystem source, plus depending on the level of user specific variables in your build you might have fun with lots of parameters. On Monday, August 5, 2013 2:28:31 AM UTC-4, Avihay Eyal wrote: Thanks for your ideas. I think an on-demand script would fit my organization, but I'll take into account the way that GIT script works. On Monday, August 5, 2013 4:20:05 AM UTC+3, Mark Waite wrote: -- *From:* Avihay Eyal aviha...@gmail.com *To:* jenkins...@googlegroups.com *Cc:* dirk.he...@recommind.com *Sent:* Sunday, August 4, 2013 12:37 PM *Subject:* Re: CI usability - isn't there a problem that tests are executed only after a developer pushed his changed to the repsitory? I'm using Mercurial, which is a distrusted source control. So you're suggesting using a script, activated via commits to the developer local repository? Once the developer committed changes to it's repository, the script will build that changes with the latest code, run all the regression tests, unit test, etc...If the test pass fine, then the developer can choose if he wants to push his changes to the main repository? I don't think that is how the Git plugin does what it does. I believe the Git plugin monitors multiple repositories and branch names for changes. If a change is detected in one or more repositories, the plugin merges those changes into its local branch, and attempts to run the job steps you specify (compile, test, deploy, whatever). The Git plugin has an optional step at the end, Git Publisher which will push the results of that merge to the remote specified in the plugin. I think that allows a workflow where the only user allowed to push to the authoritative repository is the Jenkins user. Other users push to their own repositories which are monitored by the Jenkins job. If their submissions are successful, then the results of merging their proposed change are pushed by Jenkins to the authoritative repository as the Jenkins user. I've been experimenting with a variant of that workflow and it has worked OK for me. My variant has been that by convention I never push to certain branches. Those branches only receives commits from Jenkins, and only after Jenkins has run some series of checks successfully. It has worked well enough, though I suspect it won't work in a larger organization, since it is a convention for users not to push to the integration branch, not an enforced rule. I think you could do the same with Mercurial and a script, though I'm not a Mercurial user, so I can't be certain. Mark Waite -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
jenkins as jobscheduler
Dear list, We are planning to switch from jobscheduler (http://www.sos-berlin.com/modules/cjaycontent/index.php?id=62 http://www.sos-berlin.com/modules/cjaycontent/index.php?id=62page=osource_ scheduler_introduction_en.htm page=osource_scheduler_introduction_en.htm) to Jenkins. Since I have no idea of best approach to complete this sort of migration.. I'm asking if you have any experience, or, subset of plugin to suggest in order to have a better experience? We're already using Jenkins to build, test and deploy our apps, so considering the good stability of the system, we decided to try to use it as a jobscheduler. Thanks for any suggestion. Federico -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: jenkins as jobscheduler
A conversion tool seems feasible but I never heard someone did one (I also never heard about jobscheduler before) 2013/8/5 Federico Paolantoni frido...@gmail.com Dear list, We are planning to switch from jobscheduler ( http://www.sos-berlin.com/modules/cjaycontent/index.php?id=62page=osource_scheduler_introduction_en.htm) to Jenkins. Since I have no idea of best approach to complete this sort of migration.. I’m asking if you have any experience, or, subset of plugin to suggest in order to have a better experience? ** ** We’re already using Jenkins to build, test and deploy our apps, so considering the good stability of the system, we decided to try to use it as a jobscheduler. ** ** Thanks for any suggestion. Federico ** ** ** ** -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Idea for parameterized trigger plugin
Hi all, I have a parameterized trigger plugin job whith 25 subprojects. The subbuilds are blocking and fail, so that the main job fails, too. This way we build all components of our product in correct order and finally do the setup build, if all other builds are ok. From time to time I have to rebuild a subset of the 25 projects. Which projects I have to rebuild depends on the situation, this is done by knowing which component depends on which other components. Of cource I don't want to rebuild all 25 projects, if only 3 have to be rebuilt. Also, I don't want to use automatic triggers for these dependencies, because the flow of Maven deployments have to be controlled by team regards. What I do know is rebuilding some of the subprojects by hand in the main view of the parameterized trigger plugin, where all projects are listed under the header Subprojects. This means switching from one view to another, controlling my build logs, watching live and continuing with the next project. Now for the idea: How about a multiple choice view with check boxes for the subprojects to be built? This way I could have a view with my 25 subprojects in the order of execution. I could easily choose which project to build by enabling the corresponding check boxes. Best regards i.A. Hartmut Kühn Software Developer Product Development OPTIMAL SYSTEMS GmbH - Unternehmenszentrale - Cicerostraße 26, 10709 Berlin Tel.: +49 30 895708-0 E-Mail: ku...@optimal-systems.demailto:ku...@optimal-systems.de Web: www.optimal-systems.dehttp://www.optimal-systems.de/ [Beschreibung: HDJ--mailsignatur]http://www.optimal-systems.de/news/ecm-award-2012-hersteller-des-jahres Alle Informationen zum Award finden Sie in unserem Newsroomhttp://www.optimal-systems.de/news/ecm-award-2012-hersteller-des-jahres. Lesen Sie den aktuellen OPTIMAL SYSTEMS Newsletter - hier können Sie ihn abonnieren: http://www.optimal-systems.de/newsletter Folgen Sie uns auf twitter und werden Sie Facebook-Freund: Twitter: www.twitter.com/optimalsystemshttp://www.twitter.com/optimalsystems Facebook: www.facebook.com/optimalsystemshttp://www.facebook.com/optimalsystems Sitz der Gesellschaft: Berlin HRB 38 560 Amtsgericht Charlottenburg - USt-IdNr.: DE 136 722 551 Geschäftsführer: Karsten Renz -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. inline: image001.jpg
Re: Throttle concurrent builds plugin
I ahve a situation where matrix job sub job(one per slave) needs to be throttled with free style job, but the free style job can run 4-5 concurrent builds. Looks like throttle does not work for matrix build. or am i wrong. -- View this message in context: http://jenkins-ci.361315.n4.nabble.com/Throttle-concurrent-builds-plugin-tp3732090p4675876.html Sent from the Jenkins users mailing list archive at Nabble.com. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Universal Coverage plugin for Jenkins
Hi, I think that, a while ago, there was a discussion about implementing a universal code coverage plugin, based on the cobertura plugin, but that would be able to parse code coverage results from quite a few other tools (see http://jenkins-ci.361315.n4.nabble.com/Re-Hudson-cobertura-plugin-td379075.html and other pages). Do you know if there has been any work on this ? It doesn't seem to be finished for sure, because I couldn't find any coverage plugin on Jenkins. The reason I am asking is that I could try to help build it. Thanks Manu -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Call For Paper for Jenkins CI User Conference CPH extended!
*We have extended the deadline for paper submissions for The Jenkins CI User Conference in Copenhagen September 6th! * We are asking for papers on *user stories, tech talks *and *facilitated birds-of-a-feather discussions*. Accepted speakers will recieve a free pass to the conference. All submitters get 15% discount on entrance. SUBMIT YOUR PAPER BY AUGUST 5th*!* http://www.praqma.com/events/jciusrcph13/papers -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Build Flow DSL parallel
Hi, When running a Build Flow DSL with parallel jobs, I am getting the following error message: ERROR: Failed to run DSL Script groovy.lang.MissingMethodExceptionhttp://stacktrace.jenkins-ci.org/search?query=groovy.lang.MissingMethodException: No signature of method: com.cloudbees.plugins.flow.FlowDelegate.paralllel() is applicable for argument types: (Script1$_executeBuild_closure4, Script1$_executeBuild_closure5) values: [Script1$_executeBuild_closure4@71be63, Script1$_executeBuild_closure5@18a621e] Possible solutions: parallel([Lgroovy.lang.Closure;), parallel(java.util.Collection), parallel(java.util.Map) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) I understand why I am getting this error... it makes total sense... but let me explain what I am trying to do... I encapsulated builds in a method named 'myBuild' so that I did not have to repeat DSL logic (i.e. I can skip and ignore steps based on properties). myBuild(projectMap,releaseBuild) { if (projectMap['skip']) { println Skipping +projectMap['name']+ +projectMap } else { println Building +projectMap+ ; releaseBuild=${releaseBuild} if (projectMap['ignore']) { ignore(FAILURE) { build(projectMap['jenkinsProject'], GIT_BRANCH_OR_TAG:projectMap['branch'], RELEASE_BUILD: releaseBuild) } } else { build(projectMap['jenkinsProject'], GIT_BRANCH_OR_TAG:projectMap['branch'], RELEASE_BUILD: releaseBuild) } } } Then, my DSL was very simple: // set up a project Map that specifies whether to ignore failures or skip steps. Also, set up the releseBuild Boolean parameter. ... // Here is a snippet of DSL code that blows up with groovy.lang.MissingMethodExceptionhttp://stacktrace.jenkins-ci.org/search?query=groovy.lang.MissingMethodException parallel { { myBuild(projectMap['project1'],releaseBuild) }, { myBuild(projectMap['project2'],releaseBuild) }, { myBuild(projectMap['project3'],releaseBuild) } } Using my technique, the DSL is concise and very flexible. This is my first time using the Build Flow Plugin so I am wondering whether anyone else had tried to do this type of thing and whether they found a workaround... I know I can get it to work without using the myBuild method; however, if I could make use of that method, it would greatly simplify the DSL and make it much more maintainable. Any ideas? Thanks for taking the time to read this. Bob *** *** *** This message contains information which may be confidential and privileged. Unless you are the addressee (or authorized to receive for the addressee), you may not use, copy or disclose to anyone the message or any information contained in the message. If you have received the message in error, please advise the sender by reply e-mail and delete the message. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Slave SSH Publickey authentication failed
Hi, I'm trying to setup a build slave, but when failing to connect to it. I receive a IOException: Publickey authentication failed. The setup looks like this: 1. Jenkins Master runs under user 'avihay' in machine A. 2. Slave runs on machine B with IP X (no DNS in my setup, so I'm using IP), and I'm trying to ssh with the user 'risk' 3. I've created ssh keys in machine A, and did ssh-copy to user 'risk' in machine B, so now I can ssh without password from machine A to B (checked it). 4. I've changed the name of the Jenkins user 'anonymous' to 'avihay' via the UI 5. I've copied the SSH public key that I created in step 3 to the 'SSH Public Key' text box in the user 'avihay' config (in Jenkins UI). 6. I created a new node, with the IP of host B, and in the credentials the user name is 'risk', and the private key is set to 'From Jenkins master ~/.ssh', although I tried the other two options, and they didn't work as well 7. When I'm pressing the 'Launch slave agent', it fails with the following details: Opening SSH conection to XXX.XX.XX.X (My IP addresss) ERROR: Failed to authenticate as risk with credential=3318c java.io.IOException: Publickey authentication failed BTW, the credentials appearing in the log message are not the credentials appearing in the ~/.ssh/id_rsa file, nor in the credentials I inseted in bullet 5. Thanks in advance. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Universal Coverage plugin for Jenkins
I am always too busy to solve the hard blocking problem: merging coverage results from different toolchains... I have some ideas, but it is always on the back burner. Also, basing on cobertura is a mistake. There were some design decisions I made in that plugin's architecture that in retrospect were a mistake. On Monday, 5 August 2013, Manu wrote: Hi, I think that, a while ago, there was a discussion about implementing a universal code coverage plugin, based on the cobertura plugin, but that would be able to parse code coverage results from quite a few other tools (see http://jenkins-ci.361315.n4.nabble.com/Re-Hudson-cobertura-plugin-td379075.html and other pages). Do you know if there has been any work on this ? It doesn't seem to be finished for sure, because I couldn't find any coverage plugin on Jenkins. The reason I am asking is that I could try to help build it. Thanks Manu -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com javascript:_e({}, 'cvml', 'jenkinsci-users%2bunsubscr...@googlegroups.com');. For more options, visit https://groups.google.com/groups/opt_out. -- Sent from my phone -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: jenkins as jobscheduler
On Monday, August 5, 2013 9:24:49 AM UTC-4, Federico Paolantoni wrote: Dear list, We are planning to switch from jobscheduler ( http://www.sos-berlin.com/modules/cjaycontent/index.php?id=62page=osource_scheduler_introduction_en.htm) to Jenkins. Since I have no idea of best approach to complete this sort of migration.. I’m asking if you have any experience, or, subset of plugin to suggest in order to have a better experience? We’re already using Jenkins to build, test and deploy our apps, so considering the good stability of the system, we decided to try to use it as a jobscheduler. I'm not familiar with JobScheduler, but I think of Jenkins as essentially a fancy cron, so your idea makes sense to me. Depending on how many jobs need to be migrated, it may be worthwhile to write a script which reads JobScheduler job definitions and makes Jenkins jobs from them. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Slave SSH Publickey authentication failed
On Monday, August 5, 2013 11:09:33 AM UTC-4, Avihay Eyal wrote: Hi, I'm trying to setup a build slave, but when failing to connect to it. I receive a IOException: Publickey authentication failed. The setup looks like this: 1. Jenkins Master runs under user 'avihay' in machine A. 2. Slave runs on machine B with IP X (no DNS in my setup, so I'm using IP), and I'm trying to ssh with the user 'risk' 3. I've created ssh keys in machine A, and did ssh-copy to user 'risk' in machine B, so now I can ssh without password from machine A to B (checked it). 4. I've changed the name of the Jenkins user 'anonymous' to 'avihay' via the UI 5. I've copied the SSH public key that I created in step 3 to the 'SSH Public Key' text box in the user 'avihay' config (in Jenkins UI). 6. I created a new node, with the IP of host B, and in the credentials the user name is 'risk', and the private key is set to 'From Jenkins master ~/.ssh', although I tried the other two options, and they didn't work as well 7. When I'm pressing the 'Launch slave agent', it fails with the following details: Opening SSH conection to XXX.XX.XX.X (My IP addresss) ERROR: Failed to authenticate as risk with credential=3318c java.io.IOException: Publickey authentication failed BTW, the credentials appearing in the log message are not the credentials appearing in the ~/.ssh/id_rsa file, nor in the credentials I inseted in bullet 5. All I've had to do is to get public key authentication working so that I can ssh from the Jenkins master host and user to the slave host and user, then set the host and user name in the Jenkins slave config. Jenkins picked up the existing SSH config. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Slave SSH Publickey authentication failed
OK, I made some progress. When inserting *manually* the private key in the 'manage credentials' page, it works. I tried it before, but I didn't add the prefix and suffix of the key. What's weird to me, is that I have to manually add the private key. When I'm *selecting* the *'From a file on Jenkins master*' and specify the private key file path (/home/avihay/.ssh/id_rsa) the SSH authentication * fails*, and also when I'm choosing the '*From the Jenkins master ~/.ssh*' Also, the credential in the error message aren't the ones that in the private key file, I don't know from where it fetch it. Now it seems that the Java version in the Slave is not updated, but that's a different problem... On Monday, August 5, 2013 7:42:14 PM UTC+3, JonathanRRogers wrote: On Monday, August 5, 2013 11:09:33 AM UTC-4, Avihay Eyal wrote: Hi, I'm trying to setup a build slave, but when failing to connect to it. I receive a IOException: Publickey authentication failed. The setup looks like this: 1. Jenkins Master runs under user 'avihay' in machine A. 2. Slave runs on machine B with IP X (no DNS in my setup, so I'm using IP), and I'm trying to ssh with the user 'risk' 3. I've created ssh keys in machine A, and did ssh-copy to user 'risk' in machine B, so now I can ssh without password from machine A to B (checked it). 4. I've changed the name of the Jenkins user 'anonymous' to 'avihay' via the UI 5. I've copied the SSH public key that I created in step 3 to the 'SSH Public Key' text box in the user 'avihay' config (in Jenkins UI). 6. I created a new node, with the IP of host B, and in the credentials the user name is 'risk', and the private key is set to 'From Jenkins master ~/.ssh', although I tried the other two options, and they didn't work as well 7. When I'm pressing the 'Launch slave agent', it fails with the following details: Opening SSH conection to XXX.XX.XX.X (My IP addresss) ERROR: Failed to authenticate as risk with credential=3318c java.io.IOException: Publickey authentication failed BTW, the credentials appearing in the log message are not the credentials appearing in the ~/.ssh/id_rsa file, nor in the credentials I inseted in bullet 5. All I've had to do is to get public key authentication working so that I can ssh from the Jenkins master host and user to the slave host and user, then set the host and user name in the Jenkins slave config. Jenkins picked up the existing SSH config. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Creating Jenkins Nested Views programatically.
Hi, I am trying to create jenkins views (ListView) under a given view. I am able to create the view at the top level, but not able to find a way to create a view under a given view. I am using groovy to achieve this.Below is the use case: 1. I am using Nested View plugin to organize the jobs. 2. Leaf level views are the Jenkins ListView and all the jobs are placed under leaf level views. In order to automate the view creation process, i want to create the leaf level views; to be more precise, i need ability to create views at a given level in a view hierarchy. I am able to create the views, but it always gets created at as the top level view. Below is the script i am working on for the same. Pls help: import jenkins.model.* import hudson.model.ListView import hudson.model.* def name = '3_Pangaea_Platform' def viewObj = Jenkins.instance.getView(name) def parentObj = viewObj.getOwner() parentObj.getViews().each { if( it.name == '3_Pangaea_Platform'){ println found: + it.name it.getViews().each{ if( it.name == DevTools){ // it.addView(new ListView('TestView')) it.getViews().each{ println DevTools: + it.name if(it.name == 1_Build_Triggers){ //it.addView(new ListView('TestView')) println Parent Name: + it.getOwner().name Jenkins.instance.addView(new ListView('Hello',it.getOwner())) it.getOwner().getViews().each{ println print view Name: + it.name } } } } //println found: + it.name + it.getUrl() } } //println hello + it.name; } -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Build Flow DSL parallel
Read the exception carefully: It's simply a typo in 'paralllel'. Please also consider providing a actual, complete, minimal example next time. The syntax errors in what you called snippet were a bit confusing. For reference, the following complete DSL works like a charm ('empty' and 'empty2' are projects that just run 'sleep 10' or something similar): - def myBuild(def b, def skip, def ign) { if (skip) { println Skipping +b } else { println Building +b if (ign) { ignore(FAILURE) { build(b) } } else { build(b) } } } parallel ( { myBuild('empty2', true, false) }, { myBuild('empty', false, true) }, { myBuild('empty2', false, false) } ) - On 05.08.2013, at 16:39, Bob Bick bb...@netjets.com wrote: Hi, When running a Build Flow DSL with parallel jobs, I am getting the following error message: ERROR: Failed to run DSL Script groovy.lang.MissingMethodException: No signature of method: com.cloudbees.plugins.flow.FlowDelegate.paralllel() is applicable for argument types: (Script1$_executeBuild_closure4, Script1$_executeBuild_closure5) values: [Script1$_executeBuild_closure4@71be63, Script1$_executeBuild_closure5@18a621e] Possible solutions: parallel([Lgroovy.lang.Closure;), parallel(java.util.Collection), parallel(java.util.Map) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) I understand why I am getting this error… it makes total sense… but let me explain what I am trying to do… I encapsulated builds in a method named ‘myBuild’ so that I did not have to repeat DSL logic (i.e. I can skip and ignore steps based on properties). myBuild(projectMap,releaseBuild) { if (projectMap['skip']) { println Skipping +projectMap['name']+ +projectMap } else { println Building +projectMap+ ; releaseBuild=${releaseBuild} if (projectMap['ignore']) { ignore(FAILURE) { build(projectMap['jenkinsProject'], GIT_BRANCH_OR_TAG:projectMap['branch'], RELEASE_BUILD: releaseBuild) } } else { build(projectMap['jenkinsProject'], GIT_BRANCH_OR_TAG:projectMap['branch'], RELEASE_BUILD: releaseBuild) } } } Then, my DSL was very simple: // set up a project Map that specifies whether to ignore failures or skip steps. Also, set up the releseBuild Boolean parameter. … // Here is a snippet of DSL code that “blows up” with groovy.lang.MissingMethodException parallel { { myBuild(projectMap[‘project1’],releaseBuild) }, { myBuild(projectMap[‘project2’],releaseBuild) }, { myBuild(projectMap[‘project3’],releaseBuild) } } Using my technique, the DSL is concise and very flexible. This is my first time using the Build Flow Plugin so I am wondering whether anyone else had tried to do this type of thing and whether they found a workaround… I know I can get it to work without using the myBuild method; however, if I could make use of that method, it would greatly simplify the DSL and make it much more maintainable. Any ideas? Thanks for taking the time to read this. Bob *** *** *** This message contains information which may be confidential and privileged. Unless you are the addressee (or authorized to receive for the addressee), you may not use, copy or disclose to anyone the message or any information contained in the message. If you have received the message in error, please advise the sender by reply e-mail and delete the message. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
RE: Build Flow DSL parallel
Thanks. You are right, it was a typo. I assumed incorrectly that the parallel method parameters were of the wrong type. -Original Message- From: Daniel Beck [mailto:m...@beckweb.net] Sent: Monday, August 05, 2013 2:59 PM To: jenkinsci-users@googlegroups.com Cc: Bob Bick Subject: Re: Build Flow DSL parallel Read the exception carefully: It's simply a typo in 'paralllel'. Please also consider providing a actual, complete, minimal example next time. The syntax errors in what you called snippet were a bit confusing. For reference, the following complete DSL works like a charm ('empty' and 'empty2' are projects that just run 'sleep 10' or something similar): - def myBuild(def b, def skip, def ign) { if (skip) { println Skipping +b } else { println Building +b if (ign) { ignore(FAILURE) { build(b) } } else { build(b) } } } parallel ( { myBuild('empty2', true, false) }, { myBuild('empty', false, true) }, { myBuild('empty2', false, false) } ) - On 05.08.2013, at 16:39, Bob Bick bb...@netjets.com wrote: Hi, When running a Build Flow DSL with parallel jobs, I am getting the following error message: ERROR: Failed to run DSL Script groovy.lang.MissingMethodException: No signature of method: com.cloudbees.plugins.flow.FlowDelegate.paralllel() is applicable for argument types: (Script1$_executeBuild_closure4, Script1$_executeBuild_closure5) values: [Script1$_executeBuild_closure4@71be63, Script1$_executeBuild_closure5@18a621e] Possible solutions: parallel([Lgroovy.lang.Closure;), parallel(java.util.Collection), parallel(java.util.Map) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) I understand why I am getting this error... it makes total sense... but let me explain what I am trying to do... I encapsulated builds in a method named 'myBuild' so that I did not have to repeat DSL logic (i.e. I can skip and ignore steps based on properties). myBuild(projectMap,releaseBuild) { if (projectMap['skip']) { println Skipping +projectMap['name']+ +projectMap } else { println Building +projectMap+ ; releaseBuild=${releaseBuild} if (projectMap['ignore']) { ignore(FAILURE) { build(projectMap['jenkinsProject'], GIT_BRANCH_OR_TAG:projectMap['branch'], RELEASE_BUILD: releaseBuild) } } else { build(projectMap['jenkinsProject'], GIT_BRANCH_OR_TAG:projectMap['branch'], RELEASE_BUILD: releaseBuild) } } } Then, my DSL was very simple: // set up a project Map that specifies whether to ignore failures or skip steps. Also, set up the releseBuild Boolean parameter. ... // Here is a snippet of DSL code that blows up with groovy.lang.MissingMethodException parallel { { myBuild(projectMap['project1'],releaseBuild) }, { myBuild(projectMap['project2'],releaseBuild) }, { myBuild(projectMap['project3'],releaseBuild) } } Using my technique, the DSL is concise and very flexible. This is my first time using the Build Flow Plugin so I am wondering whether anyone else had tried to do this type of thing and whether they found a workaround... I know I can get it to work without using the myBuild method; however, if I could make use of that method, it would greatly simplify the DSL and make it much more maintainable. Any ideas? Thanks for taking the time to read this. Bob *** *** *** This message contains information which may be confidential and privileged. Unless you are the addressee (or authorized to receive for the addressee), you may not use, copy or disclose to anyone the message or any information contained in the message. If you have received the message in error, please advise the sender by reply e-mail and delete the message. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. *** *** *** This message contains information which may be confidential and privileged. Unless you are the addressee (or authorized to receive for the addressee), you may not use, copy or disclose to anyone the message or any information contained in the message. If you have received the message in error, please advise the sender by reply e-mail and delete the message. -- You received this message because you are subscribed
Re: CI usability - isn't there a problem that tests are executed only after a developer pushed his changed to the repsitory?
There is also the github pull request builder which will build the merge of your pull request every time you commit to the branch in the pull request. This way you can get the results of the tests, see it failed, fix it, push your change back to your branch, and the tests will run again. You can basically get CI on your branch if you open a pull request immediately. You could even have it deploy the built artifact for the tester to test before anything is even merged to the main line of development. By the way I am doing a lightning talk about this very thing at JUC Palo Alto. Will On 08/05/13 07:27, Tom Moore wrote: Alternatively, if you have a requirement for code passing test/compiling, etc before checkin and you can't or don't want to use private repositories/branches, you can look at developing a variation of your build process that uses the filesystem SCM plugin. Run the build/tests against the files in the filesystem, and if they pass then they are permitted for checkin you can even run a post-build script if the build is successful to perform the check-in for you. Of course this method can require a lot of slave nodes defined to support all your developers so that it can find their local filesystem source, plus depending on the level of user specific variables in your build you might have fun with lots of parameters. On Monday, August 5, 2013 2:28:31 AM UTC-4, Avihay Eyal wrote: Thanks for your ideas. I think an on-demand script would fit my organization, but I'll take into account the way that GIT script works. On Monday, August 5, 2013 4:20:05 AM UTC+3, Mark Waite wrote: From: Avihay Eyal aviha...@gmail.com To: jenkins...@googlegroups.com Cc: dirk.he...@recommind.com Sent: Sunday, August 4, 2013 12:37 PM Subject: Re: CI usability - isn't there a problem that tests are executed only after a developer pushed his changed to the repsitory? I'm using Mercurial, which is a distrusted source control. So you're suggesting using a script, activated via commits to the developer local repository? Once the developer committed changes to it's repository, the script will build that changes with the latest code, run all the regression tests, unit test, etc...If the test pass fine, then the developer can choose if he wants to push his changes to the main repository? I don't think that is how the Git plugin does what it does. I believe the Git plugin monitors multiple repositories and branch names for changes. If a change is detected in one or more repositories, the plugin merges those changes into its local branch, and attempts to run the job steps you specify (compile, test, deploy, whatever). The Git plugin has an optional step at the end, Git Publisher which will push the results of that merge to the remote specified in the plugin. I think that allows a workflow where the only user allowed to push to the authoritative repository is the Jenkins user. Other users push to their own repositories which are monitored by the Jenkins job. If their submissions are successful, then the results of merging their proposed change are pushed by Jenkins to the authoritative repository as the Jenkins user. I've been experimenting with a variant of that workflow and it has worked OK for me. My variant has been that by convention I never push to certain branches. Those branches only receives commits from Jenkins, and only after Jenkins has run some series of checks successfully. It has worked well enough, though I suspect it won't work in a larger organization, since it is a convention for users not to push to the integration branch, not an enforced rule. I think you could do the same with Mercurial and a script, though I'm not a Mercurial user, so I can't be certain. Mark Waite -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.commailto:jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: How to setup if source code is composited by 2 repository
If you are using svn:external property I believe it will just pull it automatically as svn externals are essentially treated like part of the repo. You could also install the Multiple SCMs Plugin: https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin Will On 07/31/13 21:55, gMaiL wrote: I would have two jobs for each repo. Sounds like you have dependencies between two repos so I would make one Jenkins job depend on the other. Hope this helps. Printing e-mails wastes valuable natural resources. Please don't print this message unless it is absolutely necessary. Thank you for thinking green! Sent from my iPhone On Jul 31, 2013, at 10:47 PM, Hui-kuang Hsu win9...@gmail.commailto:win9...@gmail.com wrote: Hello, I am new to Jenkins. In my case, source code folder 'a' pull from repository 'a', and source code folder 'b' pull from repository 'b' (by svn:external property). In Dashboard, only can set 1 repository. How to setup to let Jenkins work? Thanks a lot. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.commailto:jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.commailto:jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Only trigger a build for a new tag in a Git repository
Possible set the refspec to where the tags are. The git-fetch docs say -t will fetch all tags and then they give the refspec for that so that is probably what you need: refs/tags/:refs/tags/ https://www.kernel.org/pub/software/scm/git/docs/git-fetch.html Will On 08/01/13 05:50, Sebastian Bergmann wrote: I have a Jenkins job for a software project that is developed in a Git repository. I do not want the job to trigger a build for each push but rather for each new tag. Is that possible? How would I set this up? Thanks! -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.commailto:jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: How to setup if source code is composited by 2 repository
On Mon, Aug 5, 2013 at 2:51 PM, William Soula william.so...@drillinginfo.com wrote: If you are using svn:external property I believe it will just pull it automatically as svn externals are essentially treated like part of the repo. You could also install the Multiple SCMs Plugin: https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin Yes, that should work automatically, although I'm not sure what happens if the 2nd repo needs different credentials. -- Les Mikesell lesmikes...@gmail.com -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Upgrading hudson to jenkins : sonar plugin compatibility
Upgrading from Hudson circa 2011 with the the Sonar plugin from that time to Jenkins current as of 8/2013 with its current Sonar plugin * How do we determine if the Jenkins current plugin is compatible with Sonar in use from 2011 or if a Sonar upgrade is to be forced in order to use the newest Jenkins with its Sonar plugin? -- You received this message because you are subscribed to the Google Groups Jenkins Users group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.