Discussion:
Pipeline Multibranch and Security questions
Kristian
2017-01-12 13:30:49 UTC
Permalink
Hi all,

I am new to Pipeline and Multibranch. I just wrote a small test
pipeline script for a project of me and started it in a Multibranch
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod jenkins.model.Jenkins getInstance
After a quick look at Google, I found out, that I can whitelist this
at "Manage Jenkins -> In-process Script Approval". I had to do this
field hudson.model.Slave name
method hudson.model.AbstractCIBase getNodes
method hudson.model.Node getRootPath
staticMethod jenkins.model.Jenkins getInstance
The last function is a problem due to Jenkins / Script Security
Plugin, because this function "may have introduced a security
vulnerability". I am using the getInstance() function in this
function:

// **********
@NonCPS
def nodeRootDir(nodeName) {
for (node in Jenkins.instance.nodes) {
println node.name
if (!nodeName.equals('master') &&
node.name.compareTo(nodeName) == 0 ) {
return node.getRootPath()
break
}
}
}
// **********

The function retrieves the root path of a slave. The question is: Is
there another way to get the root path of a slave in a non-problematic
way?
--
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+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO5HUhPS0Tj65VwwWkTQfA0hRSEXLuYDODf0PesPUXXLiJw%3DAQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Daniel Beck
2017-01-12 13:50:18 UTC
Permalink
What are you trying to accomplish? Pipeline is not intended to perform system management tasks.
Post by Kristian
Hi all,
I am new to Pipeline and Multibranch. I just wrote a small test
pipeline script for a project of me and started it in a Multibranch
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod jenkins.model.Jenkins getInstance
After a quick look at Google, I found out, that I can whitelist this
at "Manage Jenkins -> In-process Script Approval". I had to do this
field hudson.model.Slave name
method hudson.model.AbstractCIBase getNodes
method hudson.model.Node getRootPath
staticMethod jenkins.model.Jenkins getInstance
The last function is a problem due to Jenkins / Script Security
Plugin, because this function "may have introduced a security
vulnerability". I am using the getInstance() function in this
// **********
@NonCPS
def nodeRootDir(nodeName) {
for (node in Jenkins.instance.nodes) {
println node.name
if (!nodeName.equals('master') &&
node.name.compareTo(nodeName) == 0 ) {
return node.getRootPath()
break
}
}
}
// **********
The function retrieves the root path of a slave. The question is: Is
there another way to get the root path of a slave in a non-problematic
way?
--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO5HUhPS0Tj65VwwWkTQfA0hRSEXLuYDODf0PesPUXXLiJw%3DAQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
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+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/5CB3C56B-46AC-4C86-9A17-81C5BBEBEA8F%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
Kristian
2017-01-12 14:00:49 UTC
Permalink
The function comes originally from this question:
https://groups.google.com/forum/#!topic/jenkinsci-users/L9yP2df9Fz4
Post by Daniel Beck
What are you trying to accomplish? Pipeline is not intended to perform system management tasks.
Post by Kristian
Hi all,
I am new to Pipeline and Multibranch. I just wrote a small test
pipeline script for a project of me and started it in a Multibranch
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod jenkins.model.Jenkins getInstance
After a quick look at Google, I found out, that I can whitelist this
at "Manage Jenkins -> In-process Script Approval". I had to do this
field hudson.model.Slave name
method hudson.model.AbstractCIBase getNodes
method hudson.model.Node getRootPath
staticMethod jenkins.model.Jenkins getInstance
The last function is a problem due to Jenkins / Script Security
Plugin, because this function "may have introduced a security
vulnerability". I am using the getInstance() function in this
// **********
@NonCPS
def nodeRootDir(nodeName) {
for (node in Jenkins.instance.nodes) {
println node.name
if (!nodeName.equals('master') &&
node.name.compareTo(nodeName) == 0 ) {
return node.getRootPath()
break
}
}
}
// **********
The function retrieves the root path of a slave. The question is: Is
there another way to get the root path of a slave in a non-problematic
way?
--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO5HUhPS0Tj65VwwWkTQfA0hRSEXLuYDODf0PesPUXXLiJw%3DAQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/5CB3C56B-46AC-4C86-9A17-81C5BBEBEA8F%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
--
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+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO5HUhMrD8-Gz5GOTSt9OysV3jrtGjN1846%2B%2BD1YjEEbha%2BUpQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Kristian
2017-01-12 14:03:00 UTC
Permalink
Sorry, this was the false link. This is the correct one:
https://groups.google.com/forum/#!topic/jenkinsci-users/1mtr7Av4zJI
Post by Kristian
https://groups.google.com/forum/#!topic/jenkinsci-users/L9yP2df9Fz4
Post by Daniel Beck
What are you trying to accomplish? Pipeline is not intended to perform system management tasks.
Post by Kristian
Hi all,
I am new to Pipeline and Multibranch. I just wrote a small test
pipeline script for a project of me and started it in a Multibranch
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod jenkins.model.Jenkins getInstance
After a quick look at Google, I found out, that I can whitelist this
at "Manage Jenkins -> In-process Script Approval". I had to do this
field hudson.model.Slave name
method hudson.model.AbstractCIBase getNodes
method hudson.model.Node getRootPath
staticMethod jenkins.model.Jenkins getInstance
The last function is a problem due to Jenkins / Script Security
Plugin, because this function "may have introduced a security
vulnerability". I am using the getInstance() function in this
// **********
@NonCPS
def nodeRootDir(nodeName) {
for (node in Jenkins.instance.nodes) {
println node.name
if (!nodeName.equals('master') &&
node.name.compareTo(nodeName) == 0 ) {
return node.getRootPath()
break
}
}
}
// **********
The function retrieves the root path of a slave. The question is: Is
there another way to get the root path of a slave in a non-problematic
way?
--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO5HUhPS0Tj65VwwWkTQfA0hRSEXLuYDODf0PesPUXXLiJw%3DAQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/5CB3C56B-46AC-4C86-9A17-81C5BBEBEA8F%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
--
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+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO5HUhPKHHffXyXJPcqHeOarsTTR%2BwVn1rhgWDSb5bPTx%3DdYZA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
'Björn Pedersen' via Jenkins Users
2017-01-12 16:01:52 UTC
Permalink
try:

echo manager.hudson.getNode(NODE_NAME).getRootPath().toString()

to get the current nodes rootPath (or pass a suitable nodename).

Björn
Post by Kristian
https://groups.google.com/forum/#!topic/jenkinsci-users/1mtr7Av4zJI
Post by Kristian
https://groups.google.com/forum/#!topic/jenkinsci-users/L9yP2df9Fz4
Post by Daniel Beck
What are you trying to accomplish? Pipeline is not intended to perform
system management tasks.
Post by Kristian
Post by Daniel Beck
Post by Kristian
Hi all,
I am new to Pipeline and Multibranch. I just wrote a small test
pipeline script for a project of me and started it in a Multibranch
Scripts not permitted to use staticMethod jenkins.model.Jenkins getInstance
Post by Kristian
Post by Daniel Beck
Post by Kristian
After a quick look at Google, I found out, that I can whitelist this
at "Manage Jenkins -> In-process Script Approval". I had to do this
field hudson.model.Slave name
method hudson.model.AbstractCIBase getNodes
method hudson.model.Node getRootPath
staticMethod jenkins.model.Jenkins getInstance
The last function is a problem due to Jenkins / Script Security
Plugin, because this function "may have introduced a security
vulnerability". I am using the getInstance() function in this
// **********
@NonCPS
def nodeRootDir(nodeName) {
for (node in Jenkins.instance.nodes) {
println node.name
if (!nodeName.equals('master') &&
node.name.compareTo(nodeName) == 0 ) {
return node.getRootPath()
break
}
}
}
// **********
The function retrieves the root path of a slave. The question is: Is
there another way to get the root path of a slave in a non-problematic
way?
--
You received this message because you are subscribed to the Google
Groups "Jenkins Users" group.
Post by Kristian
Post by Daniel Beck
Post by Kristian
To unsubscribe from this group and stop receiving emails from it, send
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/CAO5HUhPS0Tj65VwwWkTQfA0hRSEXLuYDODf0PesPUXXLiJw%3DAQ%40mail.gmail.com.
Post by Kristian
Post by Daniel Beck
Post by Kristian
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Jenkins Users" group.
Post by Kristian
Post by Daniel Beck
To unsubscribe from this group and stop receiving emails from it, send
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/5CB3C56B-46AC-4C86-9A17-81C5BBEBEA8F%40beckweb.net.
Post by Kristian
Post by Daniel Beck
For more options, visit https://groups.google.com/d/optout.
--
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+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/4abb3a74-18a4-493a-b605-e4914de198b4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Daniel Beck
2017-01-12 16:07:47 UTC
Permalink
Post by 'Björn Pedersen' via Jenkins Users
manager.hudson
Specific to unsandboxed Groovy Postbuild, doesn't work in Pipeline.
--
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+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/05FB1C10-C10A-4F09-8FCD-60B62F1556D9%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
Daniel Beck
2017-01-12 16:08:59 UTC
Permalink
Post by Kristian
https://groups.google.com/forum/#!topic/jenkinsci-users/1mtr7Av4zJI
IIRC archiving artifacts follows symlinks, so you can just create symbolic links inside the workspace to the actual artifacts and archive those.
--
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+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/B246CA03-0690-41C0-BFF4-C251541AEF78%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
Loading...