On Tue, Jan 14, 2020 at 10:26 AM Andreas Sieferlinger
<[email protected]> wrote:
> The problem in this context is that due to the agents being ephemeral they 
> are deleted immediately after they stop, and with that also this log is gone.
> So the idea was to add some basic output (eg the TaskID) in the actual build 
> log for easier debugging for users.

Reminds me of: https://github.com/jenkinsci/kubernetes-plugin/pull/497

In general, diagnostics for ephemeral agents are not great. If you use
for example the `dockerNode` step, then the Jenkins queue is bypassed
and the agent log is just streamed into the owning build log. I do not
think there is a simple way for `Computer` (etc.) implementation to
inject this into the log for a user of the general `node` step or
freestyle builds, though. The best I can come up with (Pipeline only)
is to implement

https://javadoc.jenkins.io/plugin/workflow-api/org/jenkinsci/plugins/workflow/flow/StepListener.html

then check whether it is `node` (`ExecutorStep`) being run, and if the
context says that the `Computer` is yours, ask the context for the
`TaskListener` and copy the `Computer.getLogText` so far. Ideally
there would be a real API for a computer to print some information
when a build starts using an executor on it; or some flag indicating
that it is ephemeral and single-use so that the code using the
executor (e.g., `ExecutorStepExecution`) could decide to stream the
agent log.

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3z_5MXOdFzv9%2B9Vc2nRPw08LvqMRAwvnffJGSsn-HgUg%40mail.gmail.com.

Reply via email to