通过管道中的SSH信件限制Jenkins Slave上可以运行的作业

时间:2017-10-27 16:12:29

标签: jenkins ssh jenkins-plugins jenkins-pipeline

我们有一个全球jenkins大师,许多团队管理和使用。我们有自己的jenkins奴隶,我们管理它们并作为我们自己的工具。我想限制使用该奴隶,只限制我们的工作利用管道作为代码。以下是我想要实现的一些sudo代码。我的问题是,这有可能还是会有效?

 UserPass = getCredsFromCredStore
 withCredentials([usernameColonPassword(credentialsId: 'mylogin', variable: 'USERPASS')]) {
     node ('myNode')  { //need to dynamically configure this
        //do Stuff
     }

}

withCredentials会将SSH凭据传递给块内运行范围内的节点。因此,其他团队成员只能在此奴隶上运行作业,如果他们知道我们将在外部凭据存储中管理的ssh详细信息。

1 个答案:

答案 0 :(得分:1)

实现你想要的唯一方法是使用Folders Plus插件,这是一个cloudbees插件,而不是免费的。您可以将从站限制为仅由特定的作业文件夹使用。

您不能在作业中使用代码来限制从属,因为有人可能只是在另一个没有相同限制的作业中编写其他代码。