Hi Cyrille,

Thanks for the quick answer. My first reply somehow got swallowed.

Hi Aaron,
>
> - Why do I sometimes get duplicate artifacts? They are not duplicated on 
>> disk. In the console log, I just see a single invocation of 
>> artifactsPublisher but sometimes, it reports the same artifact several 
>> times.
>
>
> Can you share the Jenkinsfile and the logs of your build? Usually artifact 
> are displayed several time because "mvn package" or more than "package" 
> ("install" or "deploy")  is called several times in the build (e.g. 
> invoking "mvn test" then "mvn deploy")
>

I checked the console log. In both builds, I see Maven started twice with 
these options:

1. 

mvn --batch-mode --show-version -U clean install sonar:sonar -P coverage 
-Dmaven.repo.local=...
2.
mvn --batch-mode --show-version -U license:add-third-party 
license:third-party-report site -Dmaven.repo.local=...

The artifactsPublisher is invoked for #1, in #2, I'm disabling all publishers 
with "publisherStrategy: EXPLICIT". In the log, artifactsPublisher appears in 
the "build" step (#1) and not in the "license check" step (#2).

I really can't see why it gets additional artifacts in build of project A but 
not B. Jenkinsfile and Pipeline library are the same for both projects, so I'd 
expect the same output. The good news is that it's stable. It always archived 
twice in A and never in B.

 

>  
>
>> - Why isn't C listed as "Downstream Job" of B?
>
>
> Can you please share screenshots of the "/maven" tab of both job "B" and 
> "C"?
>

C looks like this:

-------------------------------------------------
[...]
*Artifacts generated by this build. Hyperlink added when the artifact has 
been deployed to a Maven repository. *
*Upstream Builds*


* Builds that generate artifacts that are dependencies of this build. This 
list is filtered by permissions, you must have the ITEM.Read permission on 
the job to see it. Note that these builds have not necessarily triggered 
this job: a trigger "Build whenever a SNAPSHOT dependency is built" must be 
configured on this job. *
*Downstream Jobs*


* Jobs that have dependencies on artifacts generated by this build. This 
list is filtered by permissions, you must have the ITEM.Read permission on 
the job to see it. Note that these jobs will not necessarily be triggered 
by this job: a trigger "Build whenever a SNAPSHOT dependency is built" must 
be configured on the downstream job. *
*Dependencies*

*Dependencies recorded according to the settings of the "Pipeline Graph 
Publisher" By default, only "snapshot" dependencies are recorded and 
"release" dependencies are ignored to optimize the size on disk of the 
database of the "Pipeline Maven Plugin". *
-------------------------------------------------

B looks the same, only that it lists "C" under "Dependencies" but not in 
"Upstream Builds".

By default, downstream pipeline triggers only work when a pipeline 
> is"success" or "unstable" and when the "mvn" goal is "deploy". This means 
> that by default, "mvn package" or "mvn install" would not trigger a 
> downstram pipeline.
>

That would be it. I avoid to publish to Nexus (see my post "Chained builds" 
for the reasons). Is there a way to activate this for "mvn install"?
 

>  
>
>> - How can I collect more information to debug this?
>
>
> Please see new FAQ entry 
> https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin#PipelineMavenPlugin-HowcanItroubleshootproblemsoftriggerofdownstreampipelines
>

Can you please add a link to 
https://wiki.jenkins.io/display/JENKINS/Logging to the FAQ item?

And I really don't understand the last point in the list.

> Look at the pipeline build logs, troubleshooting details are added

This sounds as if there is already a log file for pipeline builds. Do you 
refer to the console log? Would enabling the two loggers add more output to 
the console log? Or is that written elsewhere? What is the file name? Which 
folder?

Is looking really enough? Don't you have to start the build before that?

And "are added" is confusing. Did you mean "will be added there"?
 

> On Monday, March 18, 2019 at 3:15:26 PM UTC, Aaron Digulla wrote:
>>
>> I have three projects in my example, A, B and C.
>>
>> A is built on another Jenkins PROD. It's deployed to Nexus.
>>
>> B depends on A. It's built on Jenkins TEST.
>>
>> C depends on B. It's also built on Jenkins TEST.
>>
>> All three projects have a SNAPSHOT version.
>>
>> The web page .../job/*/maven of B shows me:
>>
>> - All artifacts of B twice (*.jar, *.jar, *-sources.jar, *-sources.jar, 
>> *-test-sources.jar, *-test-sources.jar, *.pom, *.pom, *-tests.jar, 
>> *-tests.jar)
>> - No "Upstream Builds"
>> - No "Downstream Jobs"
>> - A is listed as dependency
>>
>> I'd expect each artifact of B once and C as downstream job. Not sure 
>> about dependencies but seeing A here would be nice even though it's built 
>> on another Jenkins.
>>
>> The web page .../job/*/maven of C shows me:
>>
>> - Just some duplicate artifacts. This is a multi-module build. I'm seeing 
>> the root POM twice, everything else just once.
>> - No "Upstream Builds"
>> - No "Downstream Jobs"
>> - A and B are listed as dependencies.
>>
>> As far as I can tell, the two jobs use the same Jenkins Pipeline. They 
>> are both of type "Multibranch Pipeline".
>>
>> B gets deployed to Nexus when I build the "master" and release branches 
>> but not for feature branches. C only gets deployed to Nexus when it's a 
>> release branch.
>>
>> I'm admin on Jenkins TEST, so I'm pretty sure it's not a ITEM.Read 
>> permission issue.
>>
>> There is no config option "Build whenever a SNAPSHOT dependency is built" 
>> for the jobs B or C. I can see the option when I click "View Configuration" 
>> in .../job/*/master/configure
>>
>> Questions:
>>
>> - Why do I sometimes get duplicate artifacts? They are not duplicated on 
>> disk. In the console log, I just see a single invocation of 
>> artifactsPublisher but sometimes, it reports the same artifact several 
>> times.
>> - Why isn't C listed as "Downstream Job" of B?
>> - How can I collect more information to debug this?
>>
>> Regards,
>>
>> -- 
>> Aaron Digulla
>>
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/02cced4d-8a32-4c4d-9273-e93b941278ea%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to