繁体   English   中英

使用Jenkins Groovy脚本创建Unix Slave

[英]Create a Unix Slave with a Jenkins Groovy script

我想知道如何使用Jenkins Groovy脚本创建一个unix slave并启动slave。 我有以下代码,它工作得很好。 但是,它不会在从属设备中创建ssh选项,也不会启动从属设备。 我看到了JNLPLauncher(),我认为我需要将它改成某种ssh启动器。 即使它指向我似乎无法找到的文档,我将不胜感激任何帮助。 此外,此代码用于在构建时启动从属,并在构建结束后删除从属。 我需要根据用户选择的参数进行动态从属分配。 因此,对于如何实现这一点的任何其他想法表示赞赏。

import jenkins.model.*
import hudson.model.*
import hudson.slaves.*

Jenkins.instance.addNode(
  new DumbSlave(
    "test-script",
    "test slave description",
    "/export/home/pe-deploy/",
    "1",
    Node.Mode.NORMAL,
    "test-slave-label",
    new JNLPLauncher(),
    new RetentionStrategy.Always(),
    new LinkedList()))

这是我在Cloudbees支持网站上找到的答案,它让我得到了我需要的地方。 重要的一行是import hudson.plugins.sshslaves.*因为SSHLauncher是插件的一部分。

资料来源: https//support.cloudbees.com/hc/en-us/articles/218154667-create-agent-node-from-groovy

import jenkins.model.*
import hudson.model.*
import hudson.slaves.*
import hudson.plugins.sshslaves.*
import java.util.ArrayList;
import hudson.slaves.EnvironmentVariablesNodeProperty.Entry;

  List<Entry> env = new ArrayList<Entry>();
  env.add(new Entry("key1","value1"))
  env.add(new Entry("key2","value2"))
  EnvironmentVariablesNodeProperty envPro = new EnvironmentVariablesNodeProperty(env);
  Slave slave = new DumbSlave(
                    "agent-node","Agent node description",
                    "/home/jenkins",
                    "1",
                    Node.Mode.NORMAL,
                    "agent-node-label",
                    new SSHLauncher("agenNode",22,"user","password","","","","",""),
                    new RetentionStrategy.Always(),
                    new LinkedList())
  slave.getNodeProperties().add(envPro)
  Jenkins.instance.addNode(slave)

RemoteLauncher可能是你想要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM