parallel (
// Each job is going to produce one artifact
{ build("job1") },
{ build("job2") }, ...
{ build("jobN") }
)// deploy need access to all the artifact generated by job1, job2, ..., jobN.
build("deploy")
Our use case is we have plenty of slaves for building the artifacts but only one slave can deploy them.Thanks,
-emmanuelThe Copy Artifact Plugin will allow your “deploy” job to copy artifacts from your other jobs and put them in the deploy workspace.
--
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-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
There are a number of ways to “pick” the artifacts to archive. Use the
In your DSL, do
B1 = build(“job 1”)
B2 = build(“job 2”)
Then pass them to Deploy as parameters.
Then, as just stated, your deploy job can pick specific builds.
Sorry missed the important statement:
After each build, get the build number as B1.build.number
To be honest I wouldn't pass buildnumber, I would use a run parameter so that manual triggering should you ever need it (e.g. a failed deploy) would be easier.
Format the build as
def job1runparam = build1.project.fullName + "#" build1.number
and then add that to the paramerers
def myparams = new HashMap();
myparams['job1', 'job1runparam']
then in the copy artifact a bit of fudging to use version '${job1_NUMBER'}
/James
def foobar=build.getAction(hudson.scm.RevisionParameterAction.class) // Replace with appropriate class 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-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
On Thu, Sep 19, 2013 at 10:41 AM, Schalk W. Cronjé <ysb...@gmail.com> wrote:Maybe it was wishful thinking, because that seems to be what I need.
> The very first time I read about Build Flow I also thought it to be a DSL
> for specifying complex steps in a job.
The perception was boosted by the version I am using having access to
>It was only when I started to play
> with it that I came to realise that it was actually a tool for the
> orchestrating multiple jobs. So you are not alone in your I initial
> perceptions.
all of the usual build trigger options, a visible workspace, and the
usual post-build options.
If that's the plugin I think, it says it should be used with commit
> As to answering another question you had, I know that if you are using
> Subversion, then in the simplest case using SVN Tracking plugin will
> suffice.
hooks, not polling - and I don't understand quite how it would work if
builds of different revisions ran concurrently. If one set of builds
hasn't completed before they are started/queued for another revisions,
I still want each set to complete and stay consistent.
Yes, I can do this within build flow with $SVN_REVISION with the
> If you need something more complex you may need to use a revision parameter
> on the downstream jobs. You'll then to append @${REVISION} to your SVN URLs.
> (Assuming param was called REVISION).
version where the svn polling trigger works. Not sure if later
versions will have an equivalent. I'm beginning to think that what I
really need is some boilerplate groovy code or library to do the same
operations as the build flow plugin but in an ordinary build step.
Would the 'run other jobs in parallel' feature be possible there?
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-use...@googlegroups.com.
On Thu, Sep 19, 2013 at 12:36 PM, nicolas de loofI think that's what I need, but I'm not a groovy expert. Is there
<nicolas...@gmail.com> wrote:
>
>> > The very first time I read about Build Flow I also thought it to be a
>> > DSL
>> > for specifying complex steps in a job.
>>
>> Maybe it was wishful thinking, because that seems to be what I need.
>
>
> It's not, it's a tool to orchestrate workflows (so the name) based on jobs,
> as a replacement for parameterized build trigger + join + downstream + ...
> plugins
>
> If you need to do advanced build script, use groovy system script or
> scriptler plugin
any way to incorporate the flow DSL operations into a generic groovy
build step? And does it have to be 'system'?
It just seems confusing to me, and I think it would be to others to
>> The perception was boosted by the version I am using having access to
>> all of the usual build trigger options, a visible workspace, and the
>> usual post-build options.
>
>
> First implementation didn't offered this, and BuildFlow just extended Job.
> For simplicity and avoid code copy/paste it extends Project, but isn't an
> actual Project as FreeStyle Job is.
not have the expected triggers and archive capabilities. How did the
version that extended Job mesh the details of running on a slave node
with its system operations - or does that matter?
I'm not really clear on how matrix jobs handle this either - which is
>> > Subversion, then in the simplest case using SVN Tracking plugin will
>> > suffice.
>>
>> If that's the plugin I think, it says it should be used with commit
>> hooks, not polling - and I don't understand quite how it would work if
>> builds of different revisions ran concurrently. If one set of builds
>> hasn't completed before they are started/queued for another revisions,
>> I still want each set to complete and stay consistent.
>
>
> This is an issue I'm investigating. I'd like plugin to be triggered by a git
> post-commit hook, then pass the incoming revision as parameter to other jobs
part of the reason I'm looking for more explicit control of the child
jobs.