Re: Adventurous users wanted! Literate multi-branch project type

2014-01-14 Thread sandersw
Am I right that the plugins are no longer present in the experimental update
centre?

If so, then does that mean I need to build them from source?

ATB



-
Dave English, Wiredthing
--
View this message in context: 
http://jenkins-ci.361315.n4.nabble.com/Adventurous-users-wanted-Literate-multi-branch-project-type-tp4677934p4687545.html
Sent from the Jenkins dev mailing list archive at Nabble.com.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2014-01-14 Thread Stephen Connolly
I see them in http://updates.jenkins-ci.org/experimental/ so not sure what
you are getting at...


On 14 January 2014 16:36, sandersw d...@wiredthing.com wrote:

 Am I right that the plugins are no longer present in the experimental
 update
 centre?

 If so, then does that mean I need to build them from source?

 ATB



 -
 Dave English, Wiredthing
 --
 View this message in context:
 http://jenkins-ci.361315.n4.nabble.com/Adventurous-users-wanted-Literate-multi-branch-project-type-tp4677934p4687545.html
 Sent from the Jenkins dev mailing list archive at Nabble.com.

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-10-04 Thread teilo


On Thursday, 3 October 2013 20:37:27 UTC+1, Stephen Connolly wrote:



 On Thursday, 3 October 2013, teilo wrote:

 Hi Stephen,

 Is the literate plugin going to be the only route into the multi-branch 
 job?


 I am sure somebody may use the branch api to implement other types... I 
 have a freestyle multi branch but there is just too many build differences 
 for it to be useful and a ton of UI glitches because plugins assume they 
 are owned by ? extends Job

  

 Reason being for enterprisy software we need to enforce things in a 
 build/release so I can't let my users run abitrary maven invocations that 
 change the build (and make it unreproduceable).

 e.g. they should not be able to change the settings by using mvn -s 
 $workspace/some_setting_with_external_repo.xml -DskipTests=true


 But they can just change the pom to skip tests anyway... You have a false 
 sense of security...


That was a bit of a bad example - but actually if they want to skip tests 
in the POM then that is 100% ok - as we know that the tests were not run on 
a specific build.
 


 And if they want to use a different settings... Invoker and an alternative 
 pom file.


But you are assuming my maven enforcer rules etc. are the only line of 
defence here.  The MRM can also play an important part :-)

Besides that can you configure things that are not reporters?
e.g. wipe out workspace, always checkout a fresh copy, enable a release 
plugin...

 

 Plus you can just watch what shit they are committing... You need to do 
 that with the poms anyway


No I can't (and actually I don't).  If I could do that then we wouldn't 
need the Template plugin as I could watch all Jenkins job creation :-)

You are correct in that there is a little bit of an arms race going on - 
but most of this is not actively trying to create non-repeatable builds - 
it's just people not always thinking things through and the system can 
probably automatically pick up 95+% of that.

There are several thousand projects+branches - it would take a full time 
person to watch all of that - you could say that this could be somewhat 
automated - but even that has human overhead to setup these jobs when new 
projects are added, maintain mapping of project/branch to user+manager 
mapping etc...

 

  


 but at the same time its nice that you just branch and get a job (from 
 say a job that's created from some kind of template, and that should allow 
 the user to specify the properties exposed by that template only...)

 (you haven't yet beaten my addiction to the maven job type...)


 I'm not done... There are more tricks up my sleeve


 

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-10-04 Thread Stephen Connolly
On 4 October 2013 08:42, teilo teilo+goo...@teilo.net wrote:



 On Thursday, 3 October 2013 20:37:27 UTC+1, Stephen Connolly wrote:



 On Thursday, 3 October 2013, teilo wrote:

 Hi Stephen,

 Is the literate plugin going to be the only route into the multi-branch
 job?


 I am sure somebody may use the branch api to implement other types... I
 have a freestyle multi branch but there is just too many build differences
 for it to be useful and a ton of UI glitches because plugins assume they
 are owned by ? extends Job



 Reason being for enterprisy software we need to enforce things in a
 build/release so I can't let my users run abitrary maven invocations that
 change the build (and make it unreproduceable).

 e.g. they should not be able to change the settings by using mvn -s
 $workspace/some_setting_with_**external_repo.xml -DskipTests=true


 But they can just change the pom to skip tests anyway... You have a false
 sense of security...


 That was a bit of a bad example - but actually if they want to skip tests
 in the POM then that is 100% ok - as we know that the tests were not run on
 a specific build.



 And if they want to use a different settings... Invoker and an
 alternative pom file.


 But you are assuming my maven enforcer rules etc. are the only line of
 defence here.  The MRM can also play an important part :-)


Yes which is why I have another trick up my sleeve as part of my make
maven better on jenkins and get rid of the ugly aberration that is the
Maven project type plan...



 Besides that can you configure things that are not reporters?
 e.g. wipe out workspace,


That is something that does not make sense in SCM, so that is configured
from Jenkins


 always checkout a fresh copy,


As for wipe out workspace


 enable a release plugin...


That is awaiting the tasks support that KK has said he will help write...
basically the way this will work is you will enable a branch property that
defines the promotion tasks to support for that branch... you will specify
the heading keyword to identify the steps for that task and the environment
to run the task on... so to enable releasing from Maven you would do
something like

# To make a release

mvn release:prepare release:perform -B

and then in jenkins you just tell jenkins that, e.g. the master branch has
a release task with the keyword release in the heading

Thus you will only be able to cut releases from the master branch.





 Plus you can just watch what shit they are committing... You need to do
 that with the poms anyway


 No I can't (and actually I don't).  If I could do that then we wouldn't
 need the Template plugin as I could watch all Jenkins job creation :-)

 You are correct in that there is a little bit of an arms race going on -
 but most of this is not actively trying to create non-repeatable builds -
 it's just people not always thinking things through and the system can
 probably automatically pick up 95+% of that.


What is a non-repeatable build in this context?

The SCM revision will still be buildable if Jenkins built it once before.

Or is it that you are worries about people injecting alternative
settings.xml in the build command?

We are nowhere near it works on my machine land, though I suspect you
will need to see my maven improvement plans before you fully believe me



 There are several thousand projects+branches - it would take a full time
 person to watch all of that - you could say that this could be somewhat
 automated - but even that has human overhead to setup these jobs when new
 projects are added, maintain mapping of project/branch to user+manager
 mapping etc...






 but at the same time its nice that you just branch and get a job (from
 say a job that's created from some kind of template, and that should allow
 the user to specify the properties exposed by that template only...)

 (you haven't yet beaten my addiction to the maven job type...)


 I'm not done... There are more tricks up my sleeve




 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-10-04 Thread teilo


 But you are assuming my maven enforcer rules etc. are the only line of 
 defence here.  The MRM can also play an important part :-)


 Yes which is why I have another trick up my sleeve as part of my make 
 maven better on jenkins and get rid of the ugly aberration that is the 
 Maven project type plan...



I guess that is the trick I have been waiting for for a while...
You've made a lot out of this - I'm expecting the moon on a stick solution 
:-)

 

  


 Besides that can you configure things that are not reporters?
 e.g. wipe out workspace, 


 That is something that does not make sense in SCM, so that is configured 
 from Jenkins
  

 always checkout a fresh copy, 


 As for wipe out workspace
  

 enable a release plugin...


 That is awaiting the tasks support that KK has said he will help 
 write... basically the way this will work is you will enable a branch 
 property that defines the promotion tasks to support for that branch... you 
 will specify the heading keyword to identify the steps for that task and 
 the environment to run the task on... so to enable releasing from Maven you 
 would do something like

 # To make a release

 mvn release:prepare release:perform -B

 and then in jenkins you just tell jenkins that, e.g. the master branch has 
 a release task with the keyword release in the heading

 Thus you will only be able to cut releases from the master branch.
  


  

 Plus you can just watch what shit they are committing... You need to do 
 that with the poms anyway


 No I can't (and actually I don't).  If I could do that then we wouldn't 
 need the Template plugin as I could watch all Jenkins job creation :-)

 You are correct in that there is a little bit of an arms race going on - 
 but most of this is not actively trying to create non-repeatable builds - 
 it's just people not always thinking things through and the system can 
 probably automatically pick up 95+% of that.


 What is a non-repeatable build in this context?


I should have also included traceable so replace with non-repeatable 
non-traceable

it is a build that we can't trace back to the source code, or for which if 
we checked it out onto a clean machine setup with the correct OS/java/maven 
could not run mvn install and have identical binaries in the future (we 
record the JDK version and maven version used to build as well as the build 
host which will tell us the OS).  Obviously there could be cases where some 
bad unit tests have some dates in them and these could fail if time has 
moved on - but they should be easily identifiable)

 

 The SCM revision will still be buildable if Jenkins built it once before.


Not true.  If you change the settings, or disable enforcer rules etc you 
can add a external repository.  As we all know some of these external maven 
repositories have a habit of being here one day and gone the next.  That is 
why we force everything via our MRM which will keep every single release it 
downloads forever to handle just this case.
There are also times when the upstream repo replaces a release version 
(even sonatype has let this happen on their hosted repositories in the 
past!) 

So just because you built something today doesn't mean that the 
dependencies/plugins you need to build it tomorrow will still be around and 
at the same place.

There are also occasions where someone sets a release version on trunk 
and would let jenkins mvn deploy - this could be ok as far as the MRM is 
concerned yet there is no tag in SCM.
As there is no tag there it may be on a branch that is a personal branch or 
a throwaway branch that can be deleted (e.g. you allow deleteion of 
personal/** but not releases/** - but don;t allow deletion/redefinition of 
tags)


Or is it that you are worries about people injecting alternative 
 settings.xml in the build command?


That would be one of my big concerns with this.

(Sonar being another root of all evil..)

this setup would also allow users to have jars in SCM that they mvn 
install:installFile...  
(with maven2 you could have done this with system scope - but the enforcer 
rules should have prevented this).
The above isn't about reproduceability - but to make sure that people don;t 
check in jars to SCM - and that they go via the 3rd party reposiroty and 
have their licence/useage tracked.

All our main source build jobs use the same template that allows you to 
specify the following,

1) source location
2) users to email
3) java version
4a) maven version
4b) number of threads (-T...)
5) If you want any findbugs violations to mark the build as unstable
6) if you want any checkstyle violations to mark the build as unstable
7) slave restriction

With just that you have a whole host of plugins configured - and just 
managed.  You get reports even if you choose to ignore them so the commands 
to run are (for a ommit build) always the same
mvn install checkstyle:checkstyle findbugs:findbugs, and it prevents you 
from doing a lot of stuff like adding 

Re: Adventurous users wanted! Literate multi-branch project type

2013-10-04 Thread Stephen Connolly
On 4 October 2013 09:39, teilo teilo+goo...@teilo.net wrote:


 But you are assuming my maven enforcer rules etc. are the only line of
 defence here.  The MRM can also play an important part :-)


 Yes which is why I have another trick up my sleeve as part of my make
 maven better on jenkins and get rid of the ugly aberration that is the
 Maven project type plan...



 I guess that is the trick I have been waiting for for a while...
 You've made a lot out of this - I'm expecting the moon on a stick solution
 :-)






 Besides that can you configure things that are not reporters?
 e.g. wipe out workspace,


 That is something that does not make sense in SCM, so that is configured
 from Jenkins


 always checkout a fresh copy,


 As for wipe out workspace


 enable a release plugin...


 That is awaiting the tasks support that KK has said he will help
 write... basically the way this will work is you will enable a branch
 property that defines the promotion tasks to support for that branch... you
 will specify the heading keyword to identify the steps for that task and
 the environment to run the task on... so to enable releasing from Maven you
 would do something like

 # To make a release

 mvn release:prepare release:perform -B

 and then in jenkins you just tell jenkins that, e.g. the master branch
 has a release task with the keyword release in the heading

 Thus you will only be able to cut releases from the master branch.





 Plus you can just watch what shit they are committing... You need to do
 that with the poms anyway


 No I can't (and actually I don't).  If I could do that then we wouldn't
 need the Template plugin as I could watch all Jenkins job creation :-)

 You are correct in that there is a little bit of an arms race going on -
 but most of this is not actively trying to create non-repeatable builds -
 it's just people not always thinking things through and the system can
 probably automatically pick up 95+% of that.


 What is a non-repeatable build in this context?


 I should have also included traceable so replace with non-repeatable
 non-traceable

 it is a build that we can't trace back to the source code, or for which if
 we checked it out onto a clean machine setup with the correct OS/java/maven
 could not run mvn install and have identical binaries in the future (we
 record the JDK version and maven version used to build as well as the build
 host which will tell us the OS).  Obviously there could be cases where some
 bad unit tests have some dates in them and these could fail if time has
 moved on - but they should be easily identifiable)



 The SCM revision will still be buildable if Jenkins built it once before.


 Not true.  If you change the settings, or disable enforcer rules etc you
 can add a external repository.  As we all know some of these external maven
 repositories have a habit of being here one day and gone the next.  That is
 why we force everything via our MRM which will keep every single release it
 downloads forever to handle just this case.
 There are also times when the upstream repo replaces a release version
 (even sonatype has let this happen on their hosted repositories in the
 past!)

 So just because you built something today doesn't mean that the
 dependencies/plugins you need to build it tomorrow will still be around and
 at the same place.

 There are also occasions where someone sets a release version on trunk
 and would let jenkins mvn deploy - this could be ok as far as the MRM is
 concerned yet there is no tag in SCM.
 As there is no tag there it may be on a branch that is a personal branch
 or a throwaway branch that can be deleted (e.g. you allow deleteion of
 personal/** but not releases/** - but don;t allow deletion/redefinition of
 tags)


 Or is it that you are worries about people injecting alternative
 settings.xml in the build command?


 That would be one of my big concerns with this.

 (Sonar being another root of all evil..)

 this setup would also allow users to have jars in SCM that they mvn
 install:installFile...
 (with maven2 you could have done this with system scope - but the enforcer
 rules should have prevented this).
 The above isn't about reproduceability - but to make sure that people
 don;t check in jars to SCM - and that they go via the 3rd party reposiroty
 and have their licence/useage tracked.

 All our main source build jobs use the same template that allows you to
 specify the following,

 1) source location
 2) users to email
 3) java version
 4a) maven version
 4b) number of threads (-T...)
 5) If you want any findbugs violations to mark the build as unstable
 6) if you want any checkstyle violations to mark the build as unstable
 7) slave restriction

 With just that you have a whole host of plugins configured - and just
 managed.  You get reports even if you choose to ignore them so the commands
 to run are (for a ommit build) always the same
 mvn install checkstyle:checkstyle findbugs:findbugs, and it 

Re: Adventurous users wanted! Literate multi-branch project type

2013-10-04 Thread teilo


 I think the idea is great and can see this being fantastic for open 
 source, or where you have a smaller company/team where you can check every 
 commit to the build settings, I'm just not sure I could use it in an 
 enterprise without being bitten by its ultimate flexibility (which is one 
 reason why we use templates - but that gets us a plethora of jobs for the 
 dozens of branches in each project!)


 Oh way cool you've just given me an idea for another enterprise 
 plugin: multi-branch-templates plugin

 That should be easy... and because it's templates we don't have the UI 
 glitches we see with my (currently closed source) free-style multi-branch 
 plugin

 https://rm.cloudbees.com/issues/2111

 That should make you happy... now just to convince Harpreet to put it on 
 the backlog... feel free to file a ZD ;-)


Raised ZD#13606
 

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-10-03 Thread teilo
Hi Stephen,

Is the literate plugin going to be the only route into the multi-branch job?

Reason being for enterprisy software we need to enforce things in a 
build/release so I can't let my users run abitrary maven invocations that 
change the build (and make it unreproduceable).

e.g. they should not be able to change the settings by using mvn -s 
$workspace/some_setting_with_external_repo.xml -DskipTests=true

but at the same time its nice that you just branch and get a job (from say 
a job that's created from some kind of template, and that should allow the 
user to specify the properties exposed by that template only...)

(you haven't yet beaten my addiction to the maven job type...)

/James

On Friday, 20 September 2013 10:16:47 UTC+1, Stephen Connolly wrote:

 Ok!

 This is the first bit of noise about this. I'll be writing up a series of 
 blog posts around this, but as I just got everything OSS I thought that 
 some of the more adventurous amongst you may want to start playing with it 
 now.

 To play with this you need to do the following:

 1. Checkout and build (mvn install) the branch-api-plugin
 2. Checkout and build (mvn package) the literate-plugin
 3a. Checkout and build (mvn package) the git plugin (either the master or 
 the refactoring branch... pick your poison)
 3b. Checkout and build (mvn package) the subversion plugin (the 
 refactoring branch)
 3c. Checkout and build (mvn package) the mercurial plugin

 In your Jenkins 1.509+ install the three (or more) plugins that you have 
 just built

 You should now be able to create literate multi-branch projects.

 To try it out.

 In your SCM system create a project. In the root of the project put the 
 following two files:

 $ touch .cloudbees.md
 cat -  README.md EOF
 Hello World project
 ==

 How to Build
 --

 echo 'Hello world'

 EOF

 Checkin these two files. Create a literate multi-branch project with your 
 project as a source. Trigger the indexing. You should see a sub-project for 
 the main branch of the project.

 *NOW* go and fork your main branch into another branch.

 Trigger indexing again... oh look that branch has a project too.

 Have fun.

 The 10 best bug reports will be getting at least a T-shirt from CloudBees, 
 but I am hoping to improve the swag that I can offer.

 -Stephen

 P.S. There will be an update centre that allows people to pull this 
 without building themselves... and there will be a blog post later today 
 detailing more of the fun you can do!

 P.P.S. The aim is to have enough people test this that it can be 
 considered GA ready for JUC in late Oct 2013

 P.P.P.S. Many thanks to my employers (CloudBees) for funding the 
 development of this fully open source (MIT license) feature for Jenkins... 
 the only cost is that the default marker file is called .cloudbees.md!
  

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-09-25 Thread Larry Shatzer, Jr.
I've not had a chance to work with the plugin yet, but did notice on a
freestyle job the Export to literate-style does not show the image
correctly. It is a broken image. The HTML for the image is as follows:

img height=24 style=margin: 2px; alt= width=24
src=/static/70af5004/plugin/cloudbees-multibranch-plugin/images/24x24/literate-export.png

Looks like
https://github.com/jenkinsci/literate-plugin/blob/master/src/main/java/org/cloudbees/literate/jenkins/MigrateFreeStyleAction.java#L91
needs
to be updated.

-- Larry



On Fri, Sep 20, 2013 at 3:16 AM, Stephen Connolly 
stephen.alan.conno...@gmail.com wrote:

 Ok!

 This is the first bit of noise about this. I'll be writing up a series of
 blog posts around this, but as I just got everything OSS I thought that
 some of the more adventurous amongst you may want to start playing with it
 now.

 To play with this you need to do the following:

 1. Checkout and build (mvn install) the branch-api-plugin
 2. Checkout and build (mvn package) the literate-plugin
 3a. Checkout and build (mvn package) the git plugin (either the master or
 the refactoring branch... pick your poison)
 3b. Checkout and build (mvn package) the subversion plugin (the
 refactoring branch)
 3c. Checkout and build (mvn package) the mercurial plugin

 In your Jenkins 1.509+ install the three (or more) plugins that you have
 just built

 You should now be able to create literate multi-branch projects.

 To try it out.

 In your SCM system create a project. In the root of the project put the
 following two files:

 $ touch .cloudbees.md
 cat -  README.md EOF
 Hello World project
 ==

 How to Build
 --

 echo 'Hello world'

 EOF

 Checkin these two files. Create a literate multi-branch project with your
 project as a source. Trigger the indexing. You should see a sub-project for
 the main branch of the project.

 *NOW* go and fork your main branch into another branch.

 Trigger indexing again... oh look that branch has a project too.

 Have fun.

 The 10 best bug reports will be getting at least a T-shirt from CloudBees,
 but I am hoping to improve the swag that I can offer.

 -Stephen

 P.S. There will be an update centre that allows people to pull this
 without building themselves... and there will be a blog post later today
 detailing more of the fun you can do!

 P.P.S. The aim is to have enough people test this that it can be
 considered GA ready for JUC in late Oct 2013

 P.P.P.S. Many thanks to my employers (CloudBees) for funding the
 development of this fully open source (MIT license) feature for Jenkins...
 the only cost is that the default marker file is called .cloudbees.md!

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Fwd: Adventurous users wanted! Literate multi-branch project type

2013-09-25 Thread Vincent Latombe
Hi Stephen,

as you have noticed, I started to play with the plugin, I totally agree
that it has tremendous potential and this will be the foundation for many
improvements in Jenkins.

I have an open question concerning how to handle several 'ways' of building
the same project. In the given examples, there are 'build' and 'release'
mentioned.

On a broader perspective, for a given project, you could have a build,
test, integration-test jobs. These seem different from the 'environments'
which relate to what is done with matrix jobs.

How do you think this could be done with literate? I have seen build
profiles, but these seem to apply only to defined agents, I don't think
they are mentioned in build definition. There is also a chaining problem
(usually you'd like build - test - integration-test in sequence)

In any case, this is really great stuff, this will be a revolution when
this hits mainstream ;)

Vincent


2013/9/21 Jesse Glick jgl...@cloudbees.com

 On Fri, Sep 20, 2013 at 7:38 PM, Stephen Connolly
 stephen.alan.conno...@gmail.com wrote:
  This update center:
 
  http://updates.jenkins-ci.org/experimental/
 
  contains the alpha and beta releases

 In case it was not clear, there are already beta releases of the five
 aforementioned plugins on this UC, so you do not need to build from
 source if you just want to play around.

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-09-25 Thread Stephen Connolly
On 25 September 2013 15:22, Vincent Latombe vincent.lato...@gmail.comwrote:

 Hi Stephen,

 as you have noticed, I started to play with the plugin, I totally agree
 that it has tremendous potential and this will be the foundation for many
 improvements in Jenkins.

 I have an open question concerning how to handle several 'ways' of
 building the same project. In the given examples, there are 'build' and
 'release' mentioned.


Well there are three aspects I see to this:

1. The tasks aspect. Wherein the job says We support the following
'task' sections: ... this will result in essentially build promotions
being available for each branch

2. The marker file aspect. Since each job can define a different marker
file base-name, you could use different marker files for different build
flavours.

3. I have yet to add the UI, but you can change the keyword(s) for the
environments and build sections, so you could have a integration test
environment section and a integration test section in a separate job.

I am open to suggestions for other alternatives.


 On a broader perspective, for a given project, you could have a build,
 test, integration-test jobs. These seem different from the 'environments'
 which relate to what is done with matrix jobs.

 How do you think this could be done with literate? I have seen build
 profiles, but these seem to apply only to defined agents, I don't think
 they are mentioned in build definition. There is also a chaining problem
 (usually you'd like build - test - integration-test in sequence)


w.r.t. the chaining problem, I believe that the interrelationship between
Jenkins jobs is not something that should be maintained in the source code
SCM... (now if you get into complex build pipelines, the pipeline should be
in SCM, but not the SCM of any one node in the pipeline)

Thus I think that the interrelationship between Jenkins jobs should be
expressed within Jenkins itself. I see Branch Properties to support the
traditional upstream/downstream relationship between jobs (only reflecting
the branch and (since we have it with multi-branch) the SCM revision)



 In any case, this is really great stuff, this will be a revolution when
 this hits mainstream ;)


Yes, that is my belief too, but you can see that it has a few small rough
edges right now!




 Vincent


 2013/9/21 Jesse Glick jgl...@cloudbees.com

 On Fri, Sep 20, 2013 at 7:38 PM, Stephen Connolly
 stephen.alan.conno...@gmail.com wrote:
  This update center:
 
  http://updates.jenkins-ci.org/experimental/
 
  contains the alpha and beta releases

 In case it was not clear, there are already beta releases of the five
 aforementioned plugins on this UC, so you do not need to build from
 source if you just want to play around.

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-09-25 Thread Stephen Connolly
good catch!
http://developer-blog.cloudbees.com/2013/09/a-brief-history-of-literate-builds.htmlhas
the history of this plugin... which is where that bit of code came
from


On 25 September 2013 15:21, Larry Shatzer, Jr. lar...@gmail.com wrote:

 I've not had a chance to work with the plugin yet, but did notice on a
 freestyle job the Export to literate-style does not show the image
 correctly. It is a broken image. The HTML for the image is as follows:

 img height=24 style=margin: 2px; alt= width=24
 src=/static/70af5004/plugin/cloudbees-multibranch-plugin/images/24x24/literate-export.png

 Looks like
 https://github.com/jenkinsci/literate-plugin/blob/master/src/main/java/org/cloudbees/literate/jenkins/MigrateFreeStyleAction.java#L91
  needs
 to be updated.

 -- Larry



 On Fri, Sep 20, 2013 at 3:16 AM, Stephen Connolly 
 stephen.alan.conno...@gmail.com wrote:

 Ok!

 This is the first bit of noise about this. I'll be writing up a series of
 blog posts around this, but as I just got everything OSS I thought that
 some of the more adventurous amongst you may want to start playing with it
 now.

 To play with this you need to do the following:

 1. Checkout and build (mvn install) the branch-api-plugin
 2. Checkout and build (mvn package) the literate-plugin
 3a. Checkout and build (mvn package) the git plugin (either the master or
 the refactoring branch... pick your poison)
 3b. Checkout and build (mvn package) the subversion plugin (the
 refactoring branch)
 3c. Checkout and build (mvn package) the mercurial plugin

 In your Jenkins 1.509+ install the three (or more) plugins that you have
 just built

 You should now be able to create literate multi-branch projects.

 To try it out.

 In your SCM system create a project. In the root of the project put the
 following two files:

 $ touch .cloudbees.md
 cat -  README.md EOF
 Hello World project
 ==

 How to Build
 --

 echo 'Hello world'

 EOF

 Checkin these two files. Create a literate multi-branch project with your
 project as a source. Trigger the indexing. You should see a sub-project for
 the main branch of the project.

 *NOW* go and fork your main branch into another branch.

 Trigger indexing again... oh look that branch has a project too.

 Have fun.

 The 10 best bug reports will be getting at least a T-shirt from
 CloudBees, but I am hoping to improve the swag that I can offer.

 -Stephen

 P.S. There will be an update centre that allows people to pull this
 without building themselves... and there will be a blog post later today
 detailing more of the fun you can do!

 P.P.S. The aim is to have enough people test this that it can be
 considered GA ready for JUC in late Oct 2013

 P.P.P.S. Many thanks to my employers (CloudBees) for funding the
 development of this fully open source (MIT license) feature for Jenkins...
 the only cost is that the default marker file is called .cloudbees.md!

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-09-25 Thread Stephen Connolly
Yes I normally do something similar. But they are fixed now and the plugin
will not be getting renamed again I suspect!


On 25 September 2013 16:24, Vincent Latombe vincent.lato...@gmail.comwrote:

 Same problem with
 https://github.com/jenkinsci/literate-plugin/blob/master/src/main/java/org/cloudbees/literate/jenkins/ReadMeAction.java#L79

 It's slightly off-topic, but it shows a portability pattern that could be
 solved by core.

 In my plugins, I use

 class Util {
  private PluginWrapper plugin;

  public static String getImagesURL() {
 if (plugin == null) {
   plugin =
 Jenkins.getInstance().getPluginManager().whichPlugin(Util.class);
 }
 return /plugin/ + plugin.getShortName() + /images;
   }
 }
 to get portable path to access images. Maybe this could be generalized ?


 Vincent


 2013/9/25 Stephen Connolly stephen.alan.conno...@gmail.com

 good catch!
 http://developer-blog.cloudbees.com/2013/09/a-brief-history-of-literate-builds.htmlhas
  the history of this plugin... which is where that bit of code came from


 On 25 September 2013 15:21, Larry Shatzer, Jr. lar...@gmail.com wrote:

 I've not had a chance to work with the plugin yet, but did notice on a
 freestyle job the Export to literate-style does not show the image
 correctly. It is a broken image. The HTML for the image is as follows:

 img height=24 style=margin: 2px; alt= width=24
 src=/static/70af5004/plugin/cloudbees-multibranch-plugin/images/24x24/literate-export.png

 Looks like
 https://github.com/jenkinsci/literate-plugin/blob/master/src/main/java/org/cloudbees/literate/jenkins/MigrateFreeStyleAction.java#L91
  needs
 to be updated.

 -- Larry



 On Fri, Sep 20, 2013 at 3:16 AM, Stephen Connolly 
 stephen.alan.conno...@gmail.com wrote:

 Ok!

 This is the first bit of noise about this. I'll be writing up a series
 of blog posts around this, but as I just got everything OSS I thought that
 some of the more adventurous amongst you may want to start playing with it
 now.

 To play with this you need to do the following:

 1. Checkout and build (mvn install) the branch-api-plugin
 2. Checkout and build (mvn package) the literate-plugin
 3a. Checkout and build (mvn package) the git plugin (either the master
 or the refactoring branch... pick your poison)
 3b. Checkout and build (mvn package) the subversion plugin (the
 refactoring branch)
 3c. Checkout and build (mvn package) the mercurial plugin

 In your Jenkins 1.509+ install the three (or more) plugins that you
 have just built

 You should now be able to create literate multi-branch projects.

 To try it out.

 In your SCM system create a project. In the root of the project put the
 following two files:

 $ touch .cloudbees.md
 cat -  README.md EOF
 Hello World project
 ==

 How to Build
 --

 echo 'Hello world'

 EOF

 Checkin these two files. Create a literate multi-branch project with
 your project as a source. Trigger the indexing. You should see a
 sub-project for the main branch of the project.

 *NOW* go and fork your main branch into another branch.

 Trigger indexing again... oh look that branch has a project too.

 Have fun.

 The 10 best bug reports will be getting at least a T-shirt from
 CloudBees, but I am hoping to improve the swag that I can offer.

 -Stephen

 P.S. There will be an update centre that allows people to pull this
 without building themselves... and there will be a blog post later today
 detailing more of the fun you can do!

 P.P.S. The aim is to have enough people test this that it can be
 considered GA ready for JUC in late Oct 2013

 P.P.P.S. Many thanks to my employers (CloudBees) for funding the
 development of this fully open source (MIT license) feature for Jenkins...
 the only cost is that the default marker file is called .cloudbees.md
 !

 --
 You received this message because you are subscribed to the Google
 Groups Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to jenkinsci-dev+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 Developers group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to jenkinsci-dev+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 Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+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 Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit 

Adventurous users wanted! Literate multi-branch project type

2013-09-20 Thread Stephen Connolly
Ok!

This is the first bit of noise about this. I'll be writing up a series of
blog posts around this, but as I just got everything OSS I thought that
some of the more adventurous amongst you may want to start playing with it
now.

To play with this you need to do the following:

1. Checkout and build (mvn install) the branch-api-plugin
2. Checkout and build (mvn package) the literate-plugin
3a. Checkout and build (mvn package) the git plugin (either the master or
the refactoring branch... pick your poison)
3b. Checkout and build (mvn package) the subversion plugin (the refactoring
branch)
3c. Checkout and build (mvn package) the mercurial plugin

In your Jenkins 1.509+ install the three (or more) plugins that you have
just built

You should now be able to create literate multi-branch projects.

To try it out.

In your SCM system create a project. In the root of the project put the
following two files:

$ touch .cloudbees.md
cat -  README.md EOF
Hello World project
==

How to Build
--

echo 'Hello world'

EOF

Checkin these two files. Create a literate multi-branch project with your
project as a source. Trigger the indexing. You should see a sub-project for
the main branch of the project.

*NOW* go and fork your main branch into another branch.

Trigger indexing again... oh look that branch has a project too.

Have fun.

The 10 best bug reports will be getting at least a T-shirt from CloudBees,
but I am hoping to improve the swag that I can offer.

-Stephen

P.S. There will be an update centre that allows people to pull this without
building themselves... and there will be a blog post later today detailing
more of the fun you can do!

P.P.S. The aim is to have enough people test this that it can be considered
GA ready for JUC in late Oct 2013

P.P.P.S. Many thanks to my employers (CloudBees) for funding the
development of this fully open source (MIT license) feature for Jenkins...
the only cost is that the default marker file is called .cloudbees.md!

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Adventurous users wanted! Literate multi-branch project type

2013-09-20 Thread Stephen Connolly
Here's some docs that Michael Neale wrote up:
https://developer.cloudbees.com/bin/view/DEV/LiterateBuilds


On 20 September 2013 10:16, Stephen Connolly 
stephen.alan.conno...@gmail.com wrote:

 Ok!

 This is the first bit of noise about this. I'll be writing up a series of
 blog posts around this, but as I just got everything OSS I thought that
 some of the more adventurous amongst you may want to start playing with it
 now.

 To play with this you need to do the following:

 1. Checkout and build (mvn install) the branch-api-plugin
 2. Checkout and build (mvn package) the literate-plugin
 3a. Checkout and build (mvn package) the git plugin (either the master or
 the refactoring branch... pick your poison)
 3b. Checkout and build (mvn package) the subversion plugin (the
 refactoring branch)
 3c. Checkout and build (mvn package) the mercurial plugin

 In your Jenkins 1.509+ install the three (or more) plugins that you have
 just built

 You should now be able to create literate multi-branch projects.

 To try it out.

 In your SCM system create a project. In the root of the project put the
 following two files:

 $ touch .cloudbees.md
 cat -  README.md EOF
 Hello World project
 ==

 How to Build
 --

 echo 'Hello world'

 EOF

 Checkin these two files. Create a literate multi-branch project with your
 project as a source. Trigger the indexing. You should see a sub-project for
 the main branch of the project.

 *NOW* go and fork your main branch into another branch.

 Trigger indexing again... oh look that branch has a project too.

 Have fun.

 The 10 best bug reports will be getting at least a T-shirt from CloudBees,
 but I am hoping to improve the swag that I can offer.

 -Stephen

 P.S. There will be an update centre that allows people to pull this
 without building themselves... and there will be a blog post later today
 detailing more of the fun you can do!

 P.P.S. The aim is to have enough people test this that it can be
 considered GA ready for JUC in late Oct 2013

 P.P.P.S. Many thanks to my employers (CloudBees) for funding the
 development of this fully open source (MIT license) feature for Jenkins...
 the only cost is that the default marker file is called .cloudbees.md!


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.